使用多个Select语句创建新表

时间:2011-12-07 15:16:46

标签: sql-server-2005

我有以下三个选择语句:

Select a, b, c from Table1
Select p, q, r from Table2
Select x, y, z from Table3

我想通过使用这三个select语句创建一个表(我的意思是使用9列),这样我就可以使用查询Select a, b, c, p, q, r, x, y, z from table4。请帮我创建一个这样的表。

2 个答案:

答案 0 :(得分:1)

以至少有意义的方式执行此操作的唯一方法是通过公共字段连接所有表。例如:

Select a, b, c, p, q, r, x, y, z from 
Table1 join Table2 on Table1.a=Table2.p
       join Table3 on Table3.x=Table1.c
-- and so son

现在,join可以是内连接(强制在两个表上匹配)或左连接或右连接。

阅读Joins.

答案 1 :(得分:0)

如果您的最终结果是创建新表格,请尝试使用SELECT INTO语句

这样的事情:

SELECT 
    Table1.a, Table1.b, Table1.c,
    Table2.p, Table2.q, Table2.r,
    Table3.x, Table3.y, Table3.z
INTO [Table4]
FROM [Table1]
INNER JOIN [Table2] ON Table1.a = Table2.p
INNER JOIN [Table3] ON Table1.c = Table3.x;

这假设表格以某种方式相关