[英]I want to make row as column using pivot in SQL Server 2008 but columns have string values so can not apply aggregate function to it
I need to convert rows to column, but there is no numeric values as pivot function requires aggregate function to be apply while converting to columns from rows 我需要将行转换为列,但是没有数值,因为数据透视函数需要在从行转换为列时应用聚合函数
This is my table in SQL Server: 这是我在SQL Server中的表:
Data needs to be retrieved like this: 需要像这样检索数据:
I tried this query but it shows error 我尝试了此查询,但显示错误
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]
No need for PIVOT 无需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’
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.