gpt4 book ai didi

SQL Server 2008 查询为不存在的值置空

转载 作者:行者123 更新时间:2023-12-02 05:28:34 24 4
gpt4 key购买 nike

这里有两个表{PERSONS, CONTACTS}

我想从这两个表中得到以下结果

PersonID | Name
1 | A
2 | B
3 | C
4 | D
5 | E

联系人:

ContactID | PersonID | Type | Contact 
1 | 1 | p | 051-001
2 | 1 | e | A@
3 | 2 | p | 051-002
4 | 2 | e | B@
5 | 3 | p | 051-003
6 | 4 | p | 051-004
7 | 4 | e | D@

期望的结果输出:

Name | Contact
A | 051-001
B | 051-002
C | 051-003
D | 051-004
E | NULL

这个问题请看Fiddle SQLfiddle for Problem

最佳答案

在这里。您是否需要 Left Join 来获取 Persons 中的所有行。此外,在 on 条件下,您可以过滤 Type = 'c'

SELECT P.Name, C.Contact
FROM PERSONS P
left outer join CONTACTS C
on C.Type = 'p' and
P.PersonId = C.PersonId
order by P.Name

关于SQL Server 2008 查询为不存在的值置空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13967754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com