2011-02-25 15 views
2

一時テーブルまたはカーソルに再発することなく、以下を行う簡単な方法はありますか?各行の右結合

「表1右側の表1、表2が、行ごとに結合」

を例:

Table 1, Row 1 right join Table 2. 
Table 1, Row 2 right join Table 2. 


おかげ

更新1

申し訳ありませんが、もう少し詳しく説明してください。

表定義:
表1:

TABLE [dbo].[Table_1] 
( 
      [id] [int], 
      [name] [nvarchar](max) NULL, 
      [id_table2] [int] NULL) 

表2

TABLE [dbo].[Table_2] 
( 
[id] [int] NOT NULL, 
[code] [nvarchar](max) NULL, ) 

表1のデータ:

Table 1 Data: 
1  Prov1 1 
2  Prov2 2 

NULL NULL NULL
表2のデータ:

Table 2 Data: 
1 01 
2 02 
3 03 
4 04 
5 05 

NULL NULL
私は、次の手順を実行している場合:

select * from Table_1 as t1 
right join Table_2 as t2 on 
t1.id_table2 = 
t2.id 

結果:

1  Prov1 1  1 01 
2  Prov2 2  2 02 
NULL NULL NULL 3 03 
NULL NULL NULL 4 04 
NULL NULL NULL 5 05 

結果は私がしたい:

1 Prov1 1  1 01 
1 Prov1 NULL 2 02 
1 Prov1 NULL 3 03 
1 Prov1 NULL 4 04 
1 Prov1 NULL 5 05 

2 Prov2 1  1 01 
2 Prov2 NULL 2 02 
2 Prov2 NULL 3 03 
2 Prov2 NULL 4 04 
2 Prov2 NULL 5 05 
+0

サンプルデータと期待される出力を表示できますか? –

+0

Rauland、あなたはあなたの質問に言い換えて、得たい出力の実際の例と、おそらくいくつかの文脈を追加したいかもしれません。少なくともあなたがそこで解決しようとしている問題は明らかではありません。 – Romain

+0

@Sachinと@Romain申し訳ありませんが、私は質問を更新しました。ありがとう – rauland

答えて

4

私はあなたが登録しようCROSSを探しているべきだと思う "右各テーブル1行に参加します"右ジョインの代わりに。

+0

はい、それは私が探していたものでした。みんなありがとう。 – rauland

関連する問題