繁体   English   中英

使用SQL 2008透视数据

[英]Pivoting data using SQL 2008

我在语法上遇到了麻烦。

SELECT a.[Id]
  ,a.[Ext]
  ,a.[Title]
  ,b.Text
  FROM [Sliders] a
  LEFT OUTER JOIN SliderItems b on b.SliderId = a.Id

这将返回如下数据集:

Id                                    Ext   Title       Text
1140E5F9-7ABB-42D6-B054-9D30461FC4A9 .jpg Test me big asdftyrthg
1140E5F9-7ABB-42D6-B054-9D30461FC4A9 .jpg Test me big asdfd22sdf
1140E5F9-7ABB-42D6-B054-9D30461FC4A9 .jpg Test me big asdf342324543
1140E5F9-7ABB-42D6-B054-9D30461FC4A9 .jpg Test me big asdf;l;po09

我真正需要做的是将数据透视起来,以便不同的文本项分别在各自的列中。

谢谢。

编辑:我认为这是更接近,但它告诉我列ID被多次指定,不能摆脱那个。

SELECT *
FROM
(SELECT Id, Title FROM Sliders)AS a
LEFT JOIN SliderItems s on (s.SliderId = a.Id)
PIVOT
(
  MAX(s.Text)
FOR s.Text IN ([One],[Two],[Three],[Four])
) AS p
SELECT *
FROM
(
  SELECT a.Id, a.Title, b.Text
  FROM dbo.Sliders AS a
  LEFT JOIN dbo.SliderItems b on b.SliderId = a.Id
) AS s
PIVOT
(
  MAX(s.Text)
  FOR s.Text IN ([One],[Two],[Three],[Four])
) AS p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM