SQL: 如何将每列的周期转换为每行的周期
SQL: How do i convert period per column to period per row
我正在使用 Microsoft ODBC 数据源从 excel 电子表格中提取数据,因此我无法使用 pivot / unpivot 函数来帮助转置数据。此外,电子表格的格式是固定的,因此无法在 excel 内更改:(
我需要更改以下示例的格式table:
为此格式:
可以有N个项目和N个组件。
一般来说,周期数总是相同的,但最多可以有 40 个。但如果可能的话,我希望看到 N 个周期的动态解决方案。
另一种格式是每个组件有一列:
提前致谢。
我会创建一个与您的输入文件格式匹配的分段 table。只需截断它,然后将您的 excel 电子表格导入其中。数据存在后,您可以根据需要使用 pivot tables。顺便说一句,尽可能避免使用动态 SQL。
如果您不想走那条路,则必须针对这种情况编写特定的 SQL。
示例:
SELECT [Project Name], '2015' AS [Period], [2015] AS [Value]
FROM your spreadsheet
UNION ALL
SELECT [Project Name], '2016' AS [Period], [2016] AS [Value]
From your spreadsheet
Order By Project Name, Period
我正在使用 Microsoft ODBC 数据源从 excel 电子表格中提取数据,因此我无法使用 pivot / unpivot 函数来帮助转置数据。此外,电子表格的格式是固定的,因此无法在 excel 内更改:(
我需要更改以下示例的格式table:
为此格式:
可以有N个项目和N个组件。 一般来说,周期数总是相同的,但最多可以有 40 个。但如果可能的话,我希望看到 N 个周期的动态解决方案。
另一种格式是每个组件有一列:
提前致谢。
我会创建一个与您的输入文件格式匹配的分段 table。只需截断它,然后将您的 excel 电子表格导入其中。数据存在后,您可以根据需要使用 pivot tables。顺便说一句,尽可能避免使用动态 SQL。
如果您不想走那条路,则必须针对这种情况编写特定的 SQL。
示例:
SELECT [Project Name], '2015' AS [Period], [2015] AS [Value]
FROM your spreadsheet
UNION ALL
SELECT [Project Name], '2016' AS [Period], [2016] AS [Value]
From your spreadsheet
Order By Project Name, Period