私は4列にクエリから単一列の結果を分割したい:SQL単一列分割みとめ以上の列
サンプルソース:(Select [FirstName from User
)
ピーター
メアリー
ジョン
ティナ
カール
ジェーン
ビル
サラ
私は次のようになりたい:
ここColumn1 Column2 Column3 Column4
Peter Mary John Tina
Carl Jane Bill Sarah
私は4列にクエリから単一列の結果を分割したい:SQL単一列分割みとめ以上の列
サンプルソース:(Select [FirstName from User
)
ピーター
メアリー
ジョン
ティナ
カール
ジェーン
ビル
サラ
私は次のようになりたい:
ここColumn1 Column2 Column3 Column4
Peter Mary John Tina
Carl Jane Bill Sarah
に指示決定的な結果を得るために一意の列をORDER BY
にすることができますが、これらの行に沿ったものは機能するはずです。
;WITH T
AS (SELECT [FirstName],
(ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1)/4 AS Row,
(ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1) % 4 AS Col
FROM [User])
SELECT [0] AS Column1,
[1] AS Column2,
[2] AS Column3,
[3] AS Column4
FROM T PIVOT (MAX(name) FOR Col IN ([0], [1], [2], [3])) P
ORDER BY Row
あなたはオプションのトンを持って、1を探し、あなたの場合に適してい: Create columns from list of values
前のリンクは、あなたが必要とするeven more information
+1しかし、Colのrow_number()にも '-1'が必要だと思います。 –
ありがとう!私は異なるModulusとrownumsで結合する4つの一時テーブルを使って作業をしましたが、CTEはより良く見えます! – callisto
@NikolaMarkovinović - True、または '1,2,3,0,1,2,3,0'を出力するときにエイリアシングのニーズが変わった。あなたの提案に従って編集。 –