2016-09-13 45 views
-1

这是我的联合查询完美的作品,但我的问题是当我开始“CREATE TABLE “active_emps我在NULL COLUMNS上得到错误{错误代码:1060.重复列名'NULL' },这些列中的所有空字段也都有”NULL“。联合2表创建新表,但需要“错误代码:1060.重复列名'NULL'”以及如何标题不匹配的空列

SELECT 
    sharp.Emp_Name, sharp.EmpNbr, NULL, sharp.Position, sharp.laa_CC, NULL, sharp.EmpTitle, sharp.Location 
FROM 
    sharp 
UNION 
SELECT 
    hrlist.Emp_Name, hrlist.EmpNbr, hrlist.HRnewbadge, hrlist.Position, NULL, hrlist.lus_CC, hrlist.EmpTitle, hrlist.Location 
FROM 
    hrlist 

回答

0

您可以使用NULL只是一个时间作为列名,并且还倾斜符号之间(``)

在第一个查询有空的两倍,这就是为什么它显示错误:

{Error Code: 1060. Duplicate column name 'NULL' } 

虽然可以,但你不应该使用NULL作为列名,因为它的一个MySQL的关键字,并且可以在代码造成的困难也。

你可以使用一些其他的文字作为列名的别名,您的查询应该是:

SELECT 
    sharp.Emp_Name, sharp.EmpNbr, NULL as NULL1, 
    sharp.Position, sharp.laa_CC, NULL as NULL2, 
    sharp.EmpTitle, sharp.Location FROM sharp 
    UNION 
SELECT 
    hrlist.Emp_Name, hrlist.EmpNbr, hrlist.HRnewbadge , 
    hrlist.Position, NULL , hrlist.lus_CC, 
    hrlist.EmpTitle, hrlist.Location FROM hrlist