不幸にも、外部アプリケーション用に3列の形式でクエリ結果を提供する必要があります。結果を複数の列に選択
例:
DECLARE @tmp TABLE (id INT
, somevalue VARCHAR(30))
INSERT @tmp
VALUES (1, 'Text1')
, (2, 'Text2')
, (3, 'Text3')
, (4, 'Text4')
, (5, 'Text5')
, (6, 'Text6')
, (7, 'Text7')
, (8, 'Text8')
, (12, 'Text12')
, (13, 'Text13')
SELECT *
FROM @tmp
しかし、私はこのような結果セットが必要になります。
|ID1 |SOMEVALUE1|ID2 |SOMEVALUE2|ID3 |SOMEVALUE3|
|1 |Text1 |2 |Text2 |3 |Text3 |
|4 |Text4 |5 |Text5 |6 |Text6 |
|7 |Text7 |8 |Text8 |12 |Text12 |
|13 |Text13 |null|null |null|null |
そのように平らなテーブルからの結果セットをフォーマットするための最良の方法は何ですか?このようにして
誰かが(10、 'Text10')を挿入した後に期待される結果はありますか? idギャップについてはどうですか? – jarlh
私はそれがtsqlでやるのはばかげていることを知っています。しかし私の手はここに縛られている。空の列はnullで埋められます。 IDはどこに結果を配置するかは関係ありません。 –
'999、 'Text999''を追加して予期した結果を更新してください – MtwStark