gpt4 book ai didi

MySQL 查询 - 连接表以显示一个表中的所有值,并且仅显示另一列中的匹配结果

转载 作者:行者123 更新时间:2023-11-29 04:51:42 26 4
gpt4 key购买 nike

为糟糕的问题标题道歉。

我有两个表,jobs 和 Persons-Jobs。

工作表

1    Painting

2 Plumbing

3 Executive

4 CraneOperator

人员-工作表

JohnSmit   Painting

JohnSmit CraneOperator

TomJones Executive

BradPit Plumbing

问题

我想运行一个返回两列的查询。第一列必须显示作业表中的所有记录。第二栏必须显示做这项工作的人的名字。我想要一个只返回一个用户结果的 where 子句,在这个例子中是 JohnSmit。例如查询应该输出:

    Painting   JohnSmit

Plumbing *NULL*

Executive *NULL*

CraneOperator JohnSmit

我已经尝试过外部连接,但是当 Persons-Jobs 表中有多个人时它会失败。

select j.job,p.person 
from jobs j
LEFT OUTER JOIN `Persons-Jobs` p on j.job = p.job
where p.person='JohnSmit'
or p.person is NULL

如有任何帮助,我们将不胜感激。

感谢和问候,涂抹

最佳答案

可以在join子句中对person进行限制。这样,其他人将在加入之前被过滤掉。

select j.job,p.person 
from jobs j
LEFT
JOIN `Persons-Jobs` p
on j.job = p.job
and p.person='JohnSmit'

关于MySQL 查询 - 连接表以显示一个表中的所有值,并且仅显示另一列中的匹配结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105557/

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