私は次のクエリを作成しようとしています。SQL ServerのCASEステートメントの列のそれぞれの値を返す方法
表A(a、b、c、d、e、f、g、h) 表B(a、b、c、d、e、f、g、h、i、j、表Aの行のサブセット。
declare @tableA table (a int, b int, c int, d int, e int, f int, g int, h int)
insert into @tableA values
(1,2,3,4,5,5,7,8),
(1,2,3,4,5,6,7,8),
(2,3,4,5,6,7,8,9),
(2,3,4,5,6,7,8,8),
(2,4,5,6,7,8,8,9),
(3,4,5,6,7,8,9,9)
declare @tableB table (a int, b int, c int, d int, e int, f int, g int, h int, i int, j int k int)
insert into @tableB values
(1,2,3,4,5,6,7,8,9,9,0),
(2,3,4,5,6,7,8,8,1,9,0),
(2,4,5,6,7,8,8,9,5,8,9),
(3,4,5,6,7,8,9,9,7,8,9)
両方の表が同じ列を持ち、重複した行を持つことに注意してください。 今、テーブルAのすべての行を返すクエリが必要です。この行がテーブルBに存在しない場合は、NULLになる余分な列( 'iI'など)を返します。
(1,2,3,4,5,5,7,8,NULL)
(1,2,3,4,5,6,7,8,9)
(2,3,4,5,6,7,8,9,NULL)
(2,3,4,5,6,7,8,8,1)
(2,4,5,6,7,8,8,9,5)
(3,4,5,6,7,8,9,9,7)
あなたは私のクエリを記述助けてください:テーブルB は、その後のクエリは、次のような出力を返す必要があります。私はこれらのテーブルを結合しようとしたcase文を使用しますが、それはcase文が複数の値に
'から完全表結合表B b a.a = b.aとa.b = b.bとa.c = b.c ... etc'?あなたの結果が私が得ることができるあなたのデータセットを反映していないので、伝えにくいです。 – scsimon
"両方のテーブルに同じ列[...]"があることに注意してください。 "...行が重複しています..."そうではありません! –