Таблица таблиц .. используйте SQL pivot для извлечения уникальных полей для каждой таблицы - PullRequest
0 голосов
/ 25 сентября 2018

новый для переполнения стека, так как моя работа заставляет меня делать больше запросов SQL, чем я использую (супер базовые запросы).И поскольку это лучший онлайн-ресурс ....:)

Преамбула ... моя компания разработала базу данных SQL, которая содержит гигантскую таблицу таблиц.Другими словами, они извлекли серию таблиц (более 200) из внешних источников и поместили их все в одну массивную таблицу, которая будет использоваться для отчетности в других системах.Например, если в одной из этих внешних таблиц есть 5 полей и 10 строк данных, это преобразует до 50 строк в этой «таблице таблиц» (Table1, Field1, Value ... Table1, Field2, Value .... TableX,FieldX, Value ... и т. Д.)

Требование ... Мне нужно «повернуть» данные для получения списка всех полей во всех таблицах.Другими словами, игнорируйте значения (только TableX, FieldX).Мне нужно сделать это, чтобы найти «похожие» поля во всех таблицах.Будучи новичком в использовании PIVOT в SQL-запросах, я знаю основную структуру 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

Любая помощь очень ценится.

Остин.

1 Ответ

0 голосов
/ 28 сентября 2018

Nevermind.Я понял.Это было так же просто, как с помощью функции DISTINCT.Как я уже сказал, я немного новичок, когда дело доходит до сценариев.Так что для тех, кто читает этот пост, ответ следующий (ORDER BY является дополнительным) ...

SELECT DISTINCT
[iModelTable]
,[FieldName]
FROM [H352090DataMart].[dbo].[HA_iModelTableData]
ORDER BY iModelTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...