【发布时间】:2018-09-25 19:46:37
【问题描述】:
堆栈溢出的新手,因为我的工作让我执行的 SQL 查询比我习惯的要多(超级基本查询)。因为这是最好的在线资源......:)
序言...我的公司开发了一个 SQL 数据库,其中包含一个巨大的表。换句话说,他们从外部资源中提取了一系列表(200 多个),并将它们全部放入一个大表中,以便在其他系统中用于报告目的。例如,如果其中一个外部表有 5 个字段和 10 行数据,则在此“表的表”中转换为 50 行(Table1、Field1、Value...Table1、Field2、Value...TableX、 FieldX、Value...等)
要求...我需要“透视”数据以获取所有表中所有字段的列表。换句话说,忽略这些值(只是 TableX、FieldX)。我需要这样做才能在所有表中找到“喜欢”字段。作为在 SQL 查询中使用 PIVOT 的新手,我知道 SQL 查询的基本结构,但我在它的组织中迷失了方向。也许我什至不使用 PIVOT。这就是我所拥有的......
SELECT * from (
SELECT [FieldName],[iModelTable]
FROM [H352090DataMart].[dbo].[HA_iModelTableData]
PIVOT (MAX([FieldName]) FOR [iTableName] IN
(
--not sure what would go here if anything
)
) AS pvt
非常感谢任何帮助。
奥斯汀。
【问题讨论】:
-
小心标记您的问题,因为问题中的代码是针对 ms sql server,而不是 mysql!
标签: sql-server pivot