0

假设我有两张桌子T1& T2。我希望借助 SQL 查询将结果输出表作为 O1

T1 {SName} 
T2 {VName} 

O1 {SName, VName}
4

6 回答 6

0

得到上述结果

T1 {SName} 
T2 {VName} 
O1 {SName, VName}



 (SELECT * FROM T1,T2) as O1;

如果两个表都具有单个值,则肯定会起作用,否则您可以选择特定列,例如 T1.SName,T2.VName

于 2014-05-28T05:49:27.533 回答
0

我不知道我是否正确,您可以使用交叉连接。如果您有两个表PlayersGameScores然后 SELECT* INTO O1 FROM GameScores CROSS JOIN Players将返回第一个表中的每一行与第二个表中的每一行组合的所有记录。这也意味着 CROSS JOIN 返回联接表中行集的笛卡尔积。

于 2013-05-25T05:19:42.910 回答
0

根据过滤条件从 T1 和 T2 中选择记录,然后在表 O1 中插入记录,使用以下查询创建表 O1 并插入这些记录。

 INSERT INTO O1(SNAME, VNAME) 
    SELECT(T1.SNAME, T2.VNAME)
    From T1 Inner Join T2 On 1=1 //i.e WHERE T1.id=T2.T1_id

使用WHERE过滤记录

于 2013-05-25T05:28:52.810 回答
0

有几种方法可以做到这一点。一种简单的方法是:

select T1.SName,T2.VName from T1,T2;
于 2013-05-25T05:15:34.147 回答
0

似乎您希望两个表的交叉连接包括 T1 和 T2 中的所有行组合。尝试这个:

Select SName, VName From T1 Inner Join T2 On 1=1

您将获得的行数是 T1 和 T2 中的行数的乘积。

于 2013-05-25T05:15:39.997 回答
0

如果您没有加入任何事情并想要一个包含所有可能组合的表格:

select SName, VName
into O1
from T1 cross join T2

如果您有要加入的专栏:

select SName, VName
into O1
from T1 inner join T2 on T1.col = T2.col
于 2013-05-25T05:31:10.577 回答