-- Pivot table with one row and four columns
SELECT 'Values' tValues,
ID,Name,ValueID,Value FROM (
Select ID,Name,ValueID,Value FROM Table WHERE OptionID = 1000000
) AS SourceTable
PIVOT (
COUNT(tValues)
FOR tValues IN (ID,Attribute,ValueID,Value)
) AS PivotTable;
Я поднятием пример на сайте Microsoft.com: http://msdn.microsoft.com/en-us/library/ms177410.aspxСводная таблица с одной строкой и четырьмя столбцами
Но есть несколько вещей, о Pivot я действительно не понимаю, так что не быть удивленным, когда вы видите его в приведенном выше коде, например COUNT(tValues)
, я понятия не имею, для чего это нужно, судя по примеру на microsoft, кажется, что это всегда какое-то числовое значение, поэтому я решил, что попробую это, чтобы увидеть, вернет ли он что-то, но все, что он возвращает, является ошибкой. В любом случае, если кто-то может поделиться тем, почему этот запрос не работает, и, возможно, объяснить, для чего используется числовое значение выше FOR
?
Table
containts рентгеновский количество строк, с четырьмя колоннами, так это выглядит следующим образом:
ID | Name | ValueID | Value
100 | Color | 10000 | Black
101 | Size | 10005 | Large
Результат должен быть таким:
Name_100 | Color | Name_101 | Size |
10000 | Black | 10005 | Large |
Можете ли вы показать ВАШ таблицу, данные образца и желаемые результаты? Можете ли вы также объяснить, что означает «не работает»? –
@Aaron: «Таблица» представляет собой список из числа X строк результатов с 4 столбцами, весь запрос не работает. Может ли Pivot справиться с этим? –
Я понятия не имею. Вот почему я попросил более подробную информацию о том, что вы пытаетесь выполнить. Можете ли вы показать свою структуру таблиц ('CREATE TABLE'), образцы данных и то, что вы хотите, чтобы результат запроса выглядел? В противном случае я понятия не имею, что такое «это», что, как ожидается, будет обрабатываться. –