我有一个用例以特定方式查询2个表。
两个表都有一列。
表1第1栏:
A
B
C
表2第1栏:
1
2
3
我需要构建一个查询,使其看起来如下所示:
A 1
A 2
A 3
B 1
B 2
B 3
...
这在MS SQL Server中是否可行?
谢谢,
遄
答案 0 :(得分:4)
它被称为CROSS JOIN
Select t1.column1,t2.column1 from Table1 t1
CROSS JOIN Table2 t2
它将在两个表之间生成笛卡尔积。
答案 1 :(得分:1)
解决方案1(标准化样式):
Select t1.column1,t2.column1 from Table1 t1 CROSS JOIN Table2 t2
解决方案2(旧式):
Select t1.column1,t2.column1 from Table1 t1 , Table2 t2
解决方案3(疯狂风格):
Select t1.column1,t2.column1 from Table1 t1 inner join Table2 t2 on 1=1
我最喜欢的当然是交叉加入
答案 2 :(得分:1)
SELECT Tbl1.column1,Tbl1.column1 FROM Table1 Tbl1
CROSS JOIN Table2 Tbl2
ORDER BY Tbl1.column1