私は頭痛を与えているテーブルに行がないことに問題があります。基本データとしてシーケンス内の行を順序付けし、行が見つからない場合は空白を埋めてください
、私は、次の表を持っている:
declare @table table
(
id1 int,
id2 int,
ch char(1) not null,
val int
)
insert into @table values (1112, 121, 'A', 12)
insert into @table values (1351, 121, 'A', 13)
insert into @table values (1411, 121, 'B', 81)
insert into @table values (1312, 7, 'C', 107)
insert into @table values (1401, 2, 'A', 107)
insert into @table values (1454, 2, 'D', 107)
insert into @table values (1257, 6, 'A', 1)
insert into @table values (1269, 6, 'B', 12)
insert into @table values (1335, 6, 'C', 12)
insert into @table values (1341, 6, 'D', 5)
insert into @table values (1380, 6, 'A', 3)
出力ID2によって順序付けし、次ID2が開始されるまで繰り返すべき、CHの固定された順序に従うべきです。
id1 id2 ch val
----------------------------
1112 121 'A' 12
NULL 121 'B' NULL
NULL 121 'C' NULL
NULL 121 'D' NULL
1351 121 'A' 13
1411 121 'B' 81
NULL 121 'C' NULL
NULL 121 'D' NULL
NULL 7 'A' NULL
NULL 7 'B' NULL
1312 7 'C' 107
NULL 7 'D' NULL
1401 2 'A' 107
NULL 2 'B' NULL
NULL 2 'C' NULL
1454 2 'D' 107
など:
シーケンス:私はこの結果テーブルを取得するよう
'A'
'B'
'C'
'D'
シーケンスやパターンが中断された場合は、それは、ヌルで不足している行を埋める必要があります。 ..
私が探しているのは、反復なしでこれを行う方法です。
私は誰かが助けることを願っています!
ありがとうございます!
ソリューションと説明をありがとう!あなたは天才です! –