我不知道是否可能。如果可能,请帮我解决这个问题。
我有两个表,table1
和table2
:
table1 table2
column1 column2 column3 column4
1 2 A B
3 4 C D
table1
和table2
之间没有关系。我想执行一个查询,以便我的输出如下所示:
输出表格:
column1 column2 column3 column4
1 2 A B
1 2 C D
3 4 A B
3 4 C D
任何人都可以告诉我如何实现这一目标?我们正在使用SQL Server 2005。
谢谢, Kartic
答案 0 :(得分:0)
喜欢这个吗?
SELECT * FROM table1 CROSS JOIN table2
它被称为交叉连接或笛卡尔积。
您可以使用WHERE
添加其他过滤或加入条件。
答案 1 :(得分:0)
这称为cross join
,它生成每个表中所有记录的笛卡尔积。使用cross join
语法明确地执行此操作的最佳方法是:
select t1.*, t2.*
from table1 t1 cross join
table2 t2;
请注意,如果任一表为空,则不会返回任何行。
答案 2 :(得分:0)
您需要使用交叉连接。
select t1.*,t2.* from table1 t1
Cross Join table2 t2;