【发布时间】:2014-05-15 13:23:54
【问题描述】:
我正在尝试从两个不同的表中创建一个表
Table 1 has
ID Place Value Date
--------------------------------
1 Place Value1 Date1
2 Place1 Value2 Date2
4 Place2 Value1 Date1
7 Place3 Value2 Date1
and Table2 has
ID Name Values
------------------------
3 ColName1 Value2
5 ColName2 Value1
6 ColName3 Value2
现在我想创建一个带有 ID、Table1.Place、Table1.Date 和 Table2.Value 的新表
我尝试过使用
INSERT INTO [dbo].[tblNewTable]
SELECT tbl1.ID, tbl1.Place, tbl1.Date
FROM [Tabble1] tbl1
UNION
SELECT tbl2.Value
FROM [Table2] tbl2
但它表示使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询必须在其目标列表中具有相同数量的表达式。
请注意,两个表中的 ID 都是唯一的。
【问题讨论】:
-
这两个表有什么共同点?他们有吗?
-
你想要的结果是什么?
-
为缺失的列添加了 NULL
-
@AllanS.Hansen 所说的 - 如果您在第二个选择列表中添加两个空值,即 SELECT tbl2.value, null, null FROM [Table2] tbl2,那么联合将工作。如果您想要一个特定的值,请将其放入。也就是说,结果可能是胡言乱语。你想做什么?