gpt4 book ai didi

mysql - SQL,Where 函数用 YES/No 条件提取字段

转载 作者:行者123 更新时间:2023-11-29 21:58:14 25 4
gpt4 key购买 nike

我有一个跟踪客户及其指定员工的数据库。一个客户可以分配多名员工,但只能分配一名案例经理。并非所有客户都有指定的工作人员作为案件经理。该表如下所示:

Client    Case Manager?        Staff 
John 1 1 Don 1
John 1 0 Don 2
John 1 0 Don 3
John 2 0 Don 1
John 2 0 Don 2
John 3 0 Don 1
John 3 0 Don 2
John 4 1 Don 5

因此,John 1 被分配给三名员工,但实际上只有 Don 1 是案件经理。 John 2 被分配给两名工作人员,但他们都不是案件经理。我希望能够运行一份列出所有客户及其案件经理的报告。如果客户没有案例管理器,我需要它返回 NULL 或类似的功能。

我可以轻松地将其设置为使用 WHERE 函数来向我显示有案例管理器的客户,但会剔除没有案例管理器的客户。

想法?

最佳答案

您可以使用 LEFT JOIN:

SELECT DISTINCT t1.Client, t2.Staff AS CaseManagerName
FROM
tablename t1 LEFT JOIN tablename t2
ON t1.Client = t2.Client
AND t2.casemanager = 1

请看 fiddle here .

或者,如果客户可以有多个案例经理,您可以使用 GROUP_CONCAT:

SELECT t1.Client, GROUP_CONCAT(DISTINCT t2.Staff) AS CaseManagerName
FROM
tablename t1 LEFT JOIN tablename t2
ON t1.Client = t2.Client
AND t2.casemanager = 1
GROUP BY
t1.Client

关于mysql - SQL,Where 函数用 YES/No 条件提取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32914779/

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