回答

收藏

SQL如何正确进行外部联接

技术问答 技术问答 169 人阅读 | 0 人回复 | 2023-09-12

我有一张桌子,上面装满了公司的电话号码。我的问题是,每次员工有一个号码,我们都会有一行。因此,如果他有一个主电话和一部手机,我们将有两排。
) f6 x& J$ S" c4 i2 g& v( y  q2 t3 d现在,我需要显示所有员工的列表,包括他们的电话号码,手机号码(如果有的话)以及电子邮件,但是电子邮件在另一个表中。我正在使用SQL。
4 w8 s" o. K' X) a) }一个例子:
- m3 j, y" f/ S电话表
5 }% R) ?: j8 t% R7 w            ID  | EmpID  |  FullName     |  Number        |  Type     |----------------------------------------------------------------   115 |    02 |  ManuelSan    |  34935556663   |   Fix     |   116 |    02 |  ManuelSan    |  34652315453   |   Mobile  |   117 |    06 |  Camillete    |  34934445621   |   Fix     |   118 |    07  |  MarcusEsq    |  34932547841   |   Fix     |   119 |    08 |  FionaYem     |  34965214785   |   Fix     |   120 |    08 |  FionaYem     |  34652132124   |   Mobile  |邮件表
% y# s. W; e3 ~2 v. v. R# r+ o' p                ID   |   empID   |   Fullname   |        Email           |-----------------------------------------------------------------  25    |        |  ManuelSan   |  Manuelsan@gg.com      |   26    |                                                             |  Camillete   |  Camillete@gg.com      |   27    |                                                                                                                             |  MarcusEsq   |  MarcusEsq@gg.com      |  28    |                                                                                                            |  FionaYem    |  FionaYem@gg.com       |所以我想要这个输出+ s5 o6 i/ Z! r9 d
            Fullname |    Fix       |     Mobile    |      Email  ------------------------------------------------------------------ ManuelSan  |  34935556663 |  34652315453  |  Manuelsan@gg.com Camillete  |  34934445621 |      NULL     |  Camillete@gg.com MarcusEsq  |  34932547841 |      NULL     |  MarcusEsq@gg.com FionaYem   |  34965214785 |  34652132124  |  FionaYem@gg.com但我这样做:
4 a1 @  c* C8 t; x+ f, T: ~: FSELECT distinct telf.Fullname,telf.Number,acti.EMAIL  FROM PhoneTable telf  left outer join EmailTable as acti on acti.empID = telf.empID我知道我需要做其他事情,但我不知道该怎么办。如果他有电话和手机,每个员工可以得到两行。
; _6 U4 t4 ~& A  M$ p- P) G我该怎么办?
4 G0 i8 F" j0 {% m9 H. Y: B/ ^5 s问候,. |! x; a: H4 ?3 \$ c; ^
                                                               
) C& R5 `6 T& J2 k9 Y+ N    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则