gpt4 book ai didi

mysql - 我当前的任务是否需要使用完整连接来连接 mysql 中的多个表

转载 作者:行者123 更新时间:2023-11-29 11:49:13 24 4
gpt4 key购买 nike

我的任务是从多个表中选择一些列。我认为它可能应该使用完全连接。但我不确定。而且mysql似乎也不支持full join。我的任务描述如下:

我的任务中的

表格:

表格项目
<em>id</em> | <em>pname</em> | <em>status</em>
21 | pr1 | 1
22 | pr2 | -1
23 | pr3 | 1
24 | pr4 | 1
... ........
| |<br/>

应用
<em>projectid</em> | <em>appstype</em> | <em>status</em>
21 | 3 | 1
22 | 5 | -1
22 | 6 | 1
22 | 7 | -1
23 | 7 | 1
24 | 5 | -1
... ........
| |<br/>

crinfo
<em>projectid</em> | <em>crname</em> | <em>status</em>
21 | crname1 | 1
22 | crname2 | -1
23 | crname2 | -1
22 | crname3 | -1
24 | crname3 | 1
... ........
| |<br/>

sourcedim

apps 中的

ForeignKey appstype 引用
<em>appstype</em> | <em>sourcedesc</em>
3 | desc3
5 | desc5
7 | desc7
... ........
|<br/>

预期结果


<em>pname</em> | <em>crname</em> | <em>sourcedesc</em>
pr1 | crname1 | desc3
pr3 | | desc7
pr4 | crname3 |
... ........

最佳答案

否(幸运的是),因为 MySQL 不支持完全连接。您可以使用左连接。如果我正确理解数据和逻辑:

select p.pname, c.crname, sd.sourcedesc
from projects p left join
crinfo c
on p.id = c.projectid and c.status = 1 left join
apps a
on p.id = a.projectid and a.status = 1 left join
sourcedim sd
on a.appstype = sd.appstype
where p.status = 1;

关于mysql - 我当前的任务是否需要使用完整连接来连接 mysql 中的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34435241/

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