使用MySQL获取拥有多个电话号码的员工

我有两张表,一张是员工,另一张是详细信息。这里我需要查询来显示拥有多个电话号码的员工。

员工表:

employee_id   Name         salary
-----------  -------  --------------------
0001           John         100000
0002           Peter        50000
0003           Russel       60000
0004           Bill         60000
0005           Patrick      90000

详情表

employee_id   Address         phone
-----------  -------  --------------------
0001           USA         854646542
0002           Germany     656562354
0001           USA         465222333
0004           China       888444444
0005           Canada      012445869
0005           Canada      789875877
0003           Japan       444555807

由此我需要显示拥有多个电话号码的员工,因此预期的输出应该是

employee_id   Name         phone
-----------  -------  --------------------
0001           John         854646542
0001           John         465222333
0005           Patrick      012445869
0005           Patrick      789875877

我试过的查询:

SELECT COUNT(*)
FROM (
  SELECT employee_id, COUNT(*) AS CNT
  FROM details
  GROUP BY employee_id
) AS T
WHERE CNT > 1

回答

SELECT DISTINCT employee_id, t3.Name, t1.phone
FROM Details t1
JOIN Details t2 USING (employee_id)
JOIN Employee t3 USING (employee_id)
WHERE t1.phone != t2.phone
-- ORDER BY employee_id


以上是使用MySQL获取拥有多个电话号码的员工的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>