Поворот данных с использованием SQL 2008 - PullRequest
1 голос
/ 29 декабря 2010

У меня возникли некоторые проблемы с синтаксисом этого.

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

Что мне действительно нужно сделать, это повернуть данныечтобы каждый текстовый элемент находился в отдельном столбце.

Спасибо.

Редактировать: Я думаю, что это ближе, но это говорит о том, что идентификатор столбца указан несколько раз, можетне избавляйся от этого.

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

1 Ответ

1 голос
/ 31 декабря 2010
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...