2

我不知道这是否可能。如果可能,请帮我解决这个问题。

我有两张桌子,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。

谢谢,卡蒂克

4

3 回答 3

1

这称为 a cross join,它产生每个表中所有记录的笛卡尔积。最好的方法是显式地使用以下cross join语法:

select t1.*, t2.*
from table1 t1 cross join
     table2 t2;

请注意,如果任一表为空,则您将无法取回任何行。

于 2013-06-17T11:01:40.420 回答
0

Like this?

SELECT * FROM table1 CROSS JOIN table2

It's called a cross join, or cartesian product.

You can add additional filtering or join conditions using WHERE.

于 2013-06-17T10:59:20.993 回答
0

您需要使用交叉连接。

select t1.*,t2.* from table1 t1
Cross Join table2 t2;
于 2013-06-17T11:03:33.890 回答