【发布时间】:2021-03-31 03:36:58
【问题描述】:
我有两个表 Employee,Employeerows。我必须提取具有角色 2 或 3 的员工记录。 我有以下问题。
SELECT
E.ID,
E.NAME,
ER.PHONE,
ER.ADDRESS,
ER.ROLE
FROM
EMPLOYEE E LEFT JOIN EMPLOYEEROWS ER ON E.ID = ER.ID WHERE ER.ROLE_ID IN (2,3)
这将为每个员工返回 1 或 2 条记录
ID NAME PHONE ADDRESS ROLE
1 ABC 9898989 ABC NJ 2
1 ABC 7878787 ABC XJ 3
2 DEF 7898765 DEF NJ 2
但如果员工有 2 条记录,我必须将该员工的两条记录合并为一条,并将电话号码和地址作为单独的列。 我的结果应该是这样的。
ID NAME PHONE ALT_PHONE ADDRESS ALT_ADDESS
1 ABC 9898989 7878787 ABC NJ ABC XJ
2 DEF 7898765 DEF NJ
请帮帮我。
【问题讨论】:
标签: sql oracle pivot aggregate-functions