在SQL中没有相同属性的Union 2表

在SQL中没有相同属性的Union 2表,sql,Sql,我正在做一个SQL赋值,我发现有一个问题要求我将2个表合并在一起,但这两个表没有相同的属性。问题将显示在下面 列出客户和员工的工会。对于客户,请列出客户姓名(第一名和最后一名)和联系人(卡斯特街、卡斯特城、库斯塔特)。对于员工,请列出员工姓名(姓名和姓氏)和联系人(电话和邮件) 另外,我可能对这个问题有误解 提前感谢这是一个有效的问题,因为两者都有相同的结果列:客户名称和联系人。可以使用内联视图和别名来执行此操作 例如(oracle sql语法) 诸如此类: SELECT CustFirstNa

我正在做一个SQL赋值,我发现有一个问题要求我将2个表合并在一起,但这两个表没有相同的属性。问题将显示在下面

列出客户和员工的工会。对于客户,请列出客户姓名(第一名和最后一名)和联系人(卡斯特街、卡斯特城、库斯塔特)。对于员工,请列出员工姓名(姓名和姓氏)和联系人(电话和邮件)

另外,我可能对这个问题有误解


提前感谢

这是一个有效的问题,因为两者都有相同的结果列:客户名称和联系人。可以使用内联视图和别名来执行此操作

例如(oracle sql语法)

诸如此类:

SELECT CustFirstName, CustLastName, CustStreet, CustCity, CustState, NULL, NULL 
FROM Customers
UNION
SELECT EmpFirstName, EmpLastName, NULL, NULL, NULL, EmpPhone, EmpMail 
FROM Employees

如果合并列的类型相同,则可以创建无问题的联合。。。因此,可以使用空字符串或空值将列留空

Select CustomerFirst + ' ' + CustomerLast, CustStreet, CustCity, CusState,'','' from Customers
union all
Select EmployeeFirst + ' ' + EmployeeLast, '','','', EmpPhone, EmpEmail from Employees

注意:未测试。

客户
选择中,只需添加空的默认字段

null as EmpPhone, null as EmpEmail
然后对CustStreet、CustCity、Custtate也一样


请注意,字段在联合查询中必须位于同一位置。

作为联合选择的一部分,您可以选择空值。因此,为Custmer中不存在的两个Employee字段选择NULL,为Employee中不存在的3个Customer字段中的每个字段选择NULL 例如


非常感谢。这是一个非常有用的答案。我相信这是一个错误的答案,因为它会留下空白字段,您的老师不会高兴的。很抱歉,我忘了告诉您每个表中的属性。在客户只有街道城市州,而员工只有电话和电子邮件。我猜您误解了这个问题。来自RC的答案确实会返回两个表的并集而不会出错,但我看不出它有什么用处。
null as EmpPhone, null as EmpEmail
SELECT C.FirstName, C.LastName, C.CustStreet, C.CustCity, C.CustState, NULL, NULL FROM Customers C
UNION ALL
SELECT E.FirstName, E.LastName, NULL, NULL, NULL, E.EmpPhone, E.EmpEmail FROM Employees E