我一直在尝试将两个表合并到一个临时表中。
我试了几种方法:1.
SELECT * INTO #temp FROM Customers.Emails
UNION ALL
SELECT * INTO #temp FROM Customers.Location
SELECT *
INTO #temp
(Select
All column names here etc
FROM Customer.Emails
UNION
SELECT
All column names here etc
FROM Customer.Location)
当我尝试2时,出现此错误
Msg 263,级别16,状态1,第1行必须指定要从中进行选择的表。Msg 1038,级别15,状态5,第1行缺少对象名或列名,或者该名称为空。对于SELECT INTO语句,请验证每一列都有名称。对于其他语句,请查找空的别名。不允许使用定义为“”或[]的别名。请将别名更改为有效的名称。
1条答案
按热度按时间eh57zj3b1#
这里有3种方法来执行
INSERT INTO #temp
。方法1要求两个表具有完全相同的列名和计数。另外2种方法要求您定义要插入的列,因为我们不再使用SELECT *
。方法1结果:
| 电子邮件地址|
| - -|
| test@test.com |
| test2@test2.com |
方法2结果:
| 电子邮件地址|
| - -|
| test@test.com |
| test2@test2.com |
方法3结果:
| 电子邮件地址|
| - -|
| test@test.com |
| test2@test2.com |
fiddle