Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql中使用union_Sql_Sql Server - Fatal编程技术网

如何在sql中使用union

如何在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

大家好,SQL中的每个人,如果我试图将两个表合并到一个新表中, 我从这些表中取列名,新表将取哪个名称,为什么

代码:

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行“')附近语法不正确