次のようなデータを返すクエリがあります。
Description
----------
Thing1
Thing2
Thing3
Thing4
Thing5
Thing6
Thing7
データを次のようにしたいと思います。
Desc1 Desc2 Desc3
----- ----- -----
Thing1 Thing2 Thing3
Thing4 Thing5 Thing6
Thing7
誰かがこれを行う方法の例を提供できますか?
ありがとう!
次のようなデータを返すクエリがあります。
Description
----------
Thing1
Thing2
Thing3
Thing4
Thing5
Thing6
Thing7
データを次のようにしたいと思います。
Desc1 Desc2 Desc3
----- ----- -----
Thing1 Thing2 Thing3
Thing4 Thing5 Thing6
Thing7
誰かがこれを行う方法の例を提供できますか?
ありがとう!
@NenadZivkovic の sqlfiddle の基本データを使用して、別のソリューションを提供しました
http://www.sqlfiddle.com/#!6/b676a/15
WITH Numbered AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY Description) as rn,
(ROW_NUMBER() OVER (ORDER BY Description) - 1) % 3 as colid,
(ROW_NUMBER() OVER (ORDER BY Description) - 1) / 3 as line,
Description
FROM Table1
)
SELECT desc1.description as DESC1, desc2.description as DESC2, desc3.description as DESC3
FROM (SELECT line, description FROM Numbered WHERE colid=0) as desc1
LEFT JOIN
(SELECT line, description FROM Numbered WHERE colid=1) as desc2
ON (desc1.line = desc2.line)
LEFT JOIN
(SELECT line, description FROM Numbered WHERE colid=2) as desc3
ON (desc2.line = desc3.line)