gpt4 book ai didi

php - 如何在 mysql 中加入这 5 个表?

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:29 24 4
gpt4 key购买 nike

我需要连接 5 个表以获取必要的数据。

表1

id | number
1 | 1
2 | 5

表2

id | number | user_id
1 | 1 | 9
2 | 5 | 8

表 3

id | name | 
8 | john |
9 | jane |

表 4

id | email
6 | johndoe@example.com

表 5

id | table4_id | table3_id
1 | 6 | 8

表 1 是我的主表,我想将表 3 和表 4 中的姓名和电子邮件分别添加到表 1 的选择查询中,但为了这样做,我需要使用表 2 和表 5 进行连接它们,因为表 1 与表 3 和表 4 之间没有直接关系。我只知道如何连接 3 个表而不是 5 个表,我似乎对如何进行此操作感到困惑。

我点击了链接 here加入表 1,2 和 3。但我不知道如何处理表 4 和 5。

这是我试过的查询:

SELECT table1.number, table2.number, table2.user_id, table3.id, table3.name,
table4.id, table4.email, table5.table4_id, table3_id
FROM table1
LEFT JOIN table2
INNER JOIN table3
//this query will work if I don't include this 2 inner joins
INNER JOIN table4
INNER JOIN table5
ON table3.id = table5.table3_id
ON table5.table4_id = table4.id
//
ON table2.user_id= table3.id
ON table2.number = table1.number;

错误:(如果包含表 4 和表 5 的内部联接)

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON table2.user_id= table3.id

最佳答案

正确的语法是select .. from .. join .. on .. join ..on ....

SELECT table1.number, table2.number, table2.user_id, table3.id, table3.name,  table4.id, table4.email, table5.table4_id, table3_id
FROM table1
LEFT JOIN table2 ON table2.number = table1.number
INNER JOIN table3 ON table2.user_id= table3.id
INNER JOIN table5 ON table3.id = table5.table3_id
INNER JOIN table4 ON table5.table4_id = table4.id

关于php - 如何在 mysql 中加入这 5 个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38352169/

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