如何在sql中使用union
大家好,SQL中的每个人,如果我试图将两个表合并到一个新表中, 我从这些表中取列名,新表将取哪个名称,为什么 代码:如何在sql中使用union,sql,sql-server,Sql,Sql Server,大家好,SQL中的每个人,如果我试图将两个表合并到一个新表中, 我从这些表中取列名,新表将取哪个名称,为什么 代码: CREATE TABLE New AS Select Phonenumber from Data union select PhoneNumber from INFO 关键字“AS”附近的语法不正确 假设您的数据库支持将表创建为,那么您的查询看起来是正确的。但是,new很容易成为数据库中的保留字。我想推荐一个信息量更大的名字。大概是这样的: CREATE TABLE P
CREATE TABLE New AS
Select Phonenumber from Data
union
select PhoneNumber from INFO
关键字“AS”附近的语法不正确
假设您的数据库支持将表创建为,那么您的查询看起来是正确的。但是,
new
很容易成为数据库中的保留字。我想推荐一个信息量更大的名字。大概是这样的:
CREATE TABLE PhoneNumbers AS
SELECT Phonenumber FROM Data
UNION
SELECT PhoneNumber FROM INFO;
with cte
as
(
Select Phonenumber from [Data]
union
select PhoneNumber from .[INFO]
)
SELECT Phonenumber INTO dbo.NEW_TABLE
FROM cte;
在SQL Server(最近添加的标记)中,正确的语法在中使用:
SELECT Phonenumber FROM Data
INTO PhoneNumbers
UNION
SELECT PhoneNumber FROM INFO;
假设您的数据库支持将表创建为
,那么您的查询看起来是正确的。但是,new
很容易成为数据库中的保留字。我想推荐一个信息量更大的名字。大概是这样的:
CREATE TABLE PhoneNumbers AS
SELECT Phonenumber FROM Data
UNION
SELECT PhoneNumber FROM INFO;
with cte
as
(
Select Phonenumber from [Data]
union
select PhoneNumber from .[INFO]
)
SELECT Phonenumber INTO dbo.NEW_TABLE
FROM cte;
在SQL Server(最近添加的标记)中,正确的语法在中使用:
SELECT Phonenumber FROM Data
INTO PhoneNumbers
UNION
SELECT PhoneNumber FROM INFO;
对于使用union,要使用union的所有选择组必须具有相同数量的字段,并具有自己的名称
尝试:
对于使用union,要使用union的所有选择组必须具有相同数量的字段,并具有自己的名称
尝试:
您的错误建议我使用SQL Server
DBMS如果是这样,则使用SELECT。进入
语句:
SELECT Phonenumber INTO New_table
FROM Data
UNION
SELECT PhoneNumber
FROM INFO;
如果新的\u表
已经存在,则您可以执行以下操作:
INSERT INTO New_table (Phonenumber)
SELECT Phonenumber INTO New_table
FROM Data
UNION
SELECT PhoneNumber
FROM INFO;
您的错误建议我使用SQL Server
DBMS如果是这样,则使用SELECT。进入
语句:
SELECT Phonenumber INTO New_table
FROM Data
UNION
SELECT PhoneNumber
FROM INFO;
如果新的\u表
已经存在,则您可以执行以下操作:
INSERT INTO New_table (Phonenumber)
SELECT Phonenumber INTO New_table
FROM Data
UNION
SELECT PhoneNumber
FROM INFO;
你可以用括号
SELECT x.*
INTO [NEW_TABLE]
FROM
(Select Phonenumber from Data
union
select PhoneNumber from INFO
) x
你可以用括号
SELECT x.*
INTO [NEW_TABLE]
FROM
(Select Phonenumber from Data
union
select PhoneNumber from INFO
) x
您可以像这样使用with子句:
CREATE TABLE PhoneNumbers AS
SELECT Phonenumber FROM Data
UNION
SELECT PhoneNumber FROM INFO;
with cte
as
(
Select Phonenumber from [Data]
union
select PhoneNumber from .[INFO]
)
SELECT Phonenumber INTO dbo.NEW_TABLE
FROM cte;
您可以像这样使用with子句:
CREATE TABLE PhoneNumbers AS
SELECT Phonenumber FROM Data
UNION
SELECT PhoneNumber FROM INFO;
with cte
as
(
Select Phonenumber from [Data]
union
select PhoneNumber from .[INFO]
)
SELECT Phonenumber INTO dbo.NEW_TABLE
FROM cte;
请使用您正在使用的数据库进行标记。看起来您正在使用的DBMS产品不支持标准的CREATE TABLE。。。AS
语法。您不能使用新AS表名。请使用您正在使用的数据库进行标记。看起来您正在使用的DBMS产品不支持标准的创建表。。。AS
语法。您不能使用New AS表名。仍然不工作,与“”相同的错误“关键字附近的语法不正确”应该是sqlserver的一个特性。请参阅下面的答案,或者参阅仍然不工作,与“”相同的错误“关键字附近的语法不正确”应该是sqlserver的一个特性看到下面的答案或者看到新表不存在,但我正在创建一个新表,所以我必须使用“创建表”对吗?@SamarAlaa。如果new_table
不存在,则使用第一个版本的query。它有效,非常感谢,我还有一个问题,当我们对多个列执行此操作时,其标题将取第一个表或第二个表的标题,以及为什么,例如,如果表1有名称电话地址,表2有全名Phonenumber Homeaddress,新表的标题是什么,为什么???@SamarAlaa。在这种情况下,您必须显式地重新命名column\u name&是,第一个SELECT
statement column\u name将用作最后一个column\u name
。因此,如果我没有命名column,它将采用第一个selecte查询中的名称,太好了,再次非常感谢你,你是一个救生员:)新表格还不存在,我正在创建一个新表格,所以我必须使用创建表格,对吗?@SamarAlaa。如果new_table
不存在,则使用第一个版本的query。它有效,非常感谢,我还有一个问题,当我们对多个列执行此操作时,其标题将取第一个表或第二个表的标题,以及为什么,例如,如果表1有名称电话地址,表2有全名Phonenumber Homeaddress,新表的标题是什么,为什么???@SamarAlaa。在这种情况下,您必须显式地重新命名column\u name&是,第一个SELECT
statement column\u name将用作最后一个column\u name
。因此,如果我没有命名column,它将采用第一个selecte查询中的名称,完美再次感谢你,你是一个救生员:)我写的正是这个,它给出了一个错误“msg 156,15级,状态1,第1行”关键字“select”附近的语法不正确。Msg 102,15级,状态1,第6行“')附近语法不正确我写了这篇文章,它给出了一个错误“Msg 156,15级,状态1,第1行关键字“select”附近语法不正确”。Msg 102,15级,状态1,第6行“')附近语法不正确