如果count为1,则从左连接获取一条记录

时间:2018-01-06 02:54:36

标签: left-join impala

我有一个表Employee,其主键为Employee_id,另一个表为电子邮件地址,其中包含一个员工的多个电子邮件地址。我需要从表1中获得所有员工的逻辑,即如果存在一个电子邮件地址,那么它将从表“电子邮件”中提取,如果多于一个则为空。 表1数据

enter image description here

enter image description here

我尝试将其写为以下查询,但它无效。谁能请帮忙。 ALl非常感谢您的投入。

SELECT employee_id,

当计数(adr.email_addr)= 1且计数(dupes.email_addr)= 1且adr.email_addr = dupes.email_addr

时的情况

然后是adr.email_addr

else null END email_address

FROM Employee Emp

LEFT OUTER JOIN

(SELECT employee_id,email_addr,count(*)qty

FROM Emailadress

有计数(*)> 1)

愚弄 ON EMP.employee_id = dupes.employee_id

按emp.employee_id分组,adr.email_addr

我正在使用impala接口来执行。

谢谢,

馒头

0 个答案:

没有答案