【问题标题】:Table of tables..use SQL pivot to extract unique fields for each table表的表..使用 SQL 数据透视表为每个表提取唯一字段
【发布时间】: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


【解决方案1】:

没关系。我想到了。就像使用 DISTINCT 函数一样简单。正如我所说,在编写脚本方面我有点菜鸟。所以看了这篇文章的人,答案如下(ORDER BY是额外的)...

SELECT DISTINCT
[iModelTable]
,[FieldName]
FROM [H352090DataMart].[dbo].[HA_iModelTableData]
ORDER BY iModelTable

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 2016-12-06
    • 2012-12-21
    • 2013-12-18
    • 1970-01-01
    • 2021-02-06
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多