gpt4 book ai didi

MySQL 一个表中的两个字段从附加表中选择两个结果行?

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

我有一个包含两个 id 的表。我想从第一个表中选择两个 id,并从另外两个表中获取包含两行的结果集。也许我在这里错过了显而易见的事情,当我从两个 id 开始时如何抓取多行?

Table 1 = Intial SELECT
id | document1_id | document2_id

SELECT FROM table1 document_id1, document_id2

Table 2
document_id | document_title | document_description

Table 3
document_id | document_filename

我想获取与 document_id1 和 document_id2 匹配的两个结果行。这是我开始嵌套选择的地方。这并没有发挥作用。我可以在这里做两个 JOINS 吗?

我希望实现的结果集是:

1 row from table 1
table1_id, document1_id, document2_id

2 rows from table 2
document_title, document_description that matches document1_id AND
document_title, document_description that matches document2_id

2 rows from table 3
document_filename that matches document1_id AND
document_filename that matches document2_id

我缩短了表中的实际列数,以简单地说明我希望完成的任务。首先,这看起来是一个很好的数据设置吗?如果是的话,有没有简单的方法来选择数据?目前,我有一堆嵌套选择,这些选择正在失去控制,并且似乎会适得其反。无论如何,一如既往地感谢任何帮助或指导。谢谢。

最佳答案

上面的答案并没有完全给我我想要达到的结果。最终这就是我最终得到的效果。感谢您的帮助。

SELECT 
t1.document1_id, t1.document2_id,
t21.document_title as t21_title, t21.document_description as t21_description,
t22.document_title as t22_title, t22.document_description as t22_description,
t31.document_filename as t31_filename,
t32.document_filename as t32_filename
FROM
Table1 t1
INNER JOIN Table2 t21
ON t21.document_id = t1.document1_id
INNER JOIN Table2 t22
ON t22.document_id = t1.document2_id
INNER JOIN Table3 t31
ON t31.document_id = t1.document1_id
INNER JOIN Table3 t32
ON t32.document_id = t1.document2_id

关于MySQL 一个表中的两个字段从附加表中选择两个结果行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728331/

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