是否有一种简单的方法可以执行以下操作而无需重复使用临时表或游标?
“表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 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 :(得分:4)
我认为你应该寻找一个CROSS JOIN而不是RIGHT JOIN。