Я хочу сделать строку как столбец, используя сводную в SQL Server 2008, но столбцы имеют строковые значения, поэтому не могут применить к нему функцию агрегирования - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно преобразовать строки в столбец, но числовые значения отсутствуют, поскольку сводная функция требует применения агрегатной функции при преобразовании столбцов из строк

Это моя таблица в SQL Server:

enter image description here

Данные должны быть получены следующим образом:

enter image description here

Я пробовал этот запрос, но он показывает ошибку

SELECT 
    title, price
FROM  
    (SELECT 
         Product_Attributes_String_Value, Attribute_ID_Name, Product_ID 
     FROM
         [Products].[dbo].[Product_Attributes] 
     WHERE 
         Product_ID = '20734381') AS Tab1
PIVOT  
    (Product_Attributes_String_Value 
         FOR Attribute_ID_Name IN (title, price)) AS Tab2 
ORDER BY 
    [Tab2].[price] 

1 Ответ

0 голосов
/ 11 мая 2019

Нет необходимости в PIVOT

SELECT a.Product_ID, 
    a.Product_Attributes_String_Value as title, 
    b.Product_Attributes_Double_Value as price
FROM [Products].[dbo].[Product_Attributes] a
    LEFT JOIN [Products].[dbo].[Product_Attributes] b 
        ON a.Product_ID = b.Product_ID 
        AND b.Attribute_ID_Name = ‘price’
WHERE a.Product_ID = ‘20734381’ 
    AND a.Attribute_ID_Name = ‘title’
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...