2011-02-25 54 views
2

有沒有簡單的方法來執行以下操作,而不必重複臨時表或遊標?右連接每行

「表1右連接表2,但在表1中的每一行」

如:

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行」

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 JOIN而不是RIGHT JOIN。

+0

是的,那就是我一直在尋找的東西。謝謝大家。 – rauland