2

次のようなデータを返すクエリがあります。

Description
----------
Thing1
Thing2
Thing3
Thing4
Thing5
Thing6
Thing7

データを次のようにしたいと思います。

Desc1    Desc2  Desc3
-----    -----  -----
Thing1   Thing2 Thing3
Thing4   Thing5 Thing6
Thing7

誰かがこれを行う方法の例を提供できますか?

ありがとう!

4

3 に答える 3

1

@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)
于 2013-04-08T21:17:06.693 に答える