在oracle中选择2个列值作为一个

时间:2016-01-08 18:36:19

标签: sql oracle select union

首先,我不是在寻找一个CONCAT,而是一个UNION。但是我不能做UNION,因为SELECT查询中还有其他列。
当我搜索EmpId = 1时,下面是我的表结构和预期结果。
这是我到目前为止所尝试的,select emp.empId, emp.name, STREET from employee emp, mailing_address mail, office_address off where emp.empId=mail.empId and emp.empId=off.empId 我只是不知道应该把什么放在街上,所以我可以一次性从mailing_address和office_address表中获取街道。请帮忙。

enter image description here

1 个答案:

答案 0 :(得分:4)

SELECT e.EmpId,
       e.Name,
       m.Street
FROM   EMPLOYEE e
       INNER JOIN
       Mailing_Address m
       ON ( e.EmpID = m.EmpID )
WHERE  e.EmpID = 1
UNION
SELECT e.EmpId,
       e.Name,
       o.Street
FROM   EMPLOYEE e
       INNER JOIN
       Office_Address o
       ON ( e.EmpID = o.EmpID )
WHERE  e.EmpID = 1