gpt4 book ai didi

php - 多表、多 WHERE 和 SELECT MySQL 查询

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

因此,我尝试使用我试图放在一起的查询从 4 个表中选择一些数据。

SELECT *
FROM cards
LEFT JOIN cards_viewers ON cards.card_id = cards_viewers.card_id
(SELECT *
FROM folders
WHERE folder_id = cards.card_folderID)
(SELECT user_firstName,
user_lastName,
user_avatar
FROM user_data
WHERE user_id = cards_viewers.user_id)
WHERE cards_viewers.user_id = '.$u_id.'
ORDER BY cards.card_lastUpdated DESC

基本上,查询根据表user_data 中的user_id 从四个表中选择数据。我试图最初从表 cardscards_viewers 中获取所有数据,并继续使用这些数据从其他表中选择值(user_data 文件夹)。

查询错误,我知道。我已经学习了大部分基本的 MySQL,但我仍在努力处理更复杂的查询,比如我现在尝试编写的查询。我可以使用什么查询来选择我想要的数据?

指向查询部分的任何文档的链接将证明对帮助我学习如何在未来创建查询非常有用,而不仅仅是依赖 StackOverflow。

非常感谢。

最佳答案

您不需要“MULTI-WHERE”,而是多个连接,您只需要继续进行连接,直到获得所需的表。
这是一个例子:

SELECT *
FROM cards LEFT JOIN cards_viewers
ON cards.card_id = cards_viewers.card_id
LEFT JOIN folders
ON folders.folder_id = cards.card_folderID
LEFT JOIN user_data
ON user_id = cards_viewers.user_id
WHERE cards_viewers.user_id = '.$u_id.'
ORDER BY cards.card_lastUpdated DESC

要自定义您想要获取的字段,只需更改 * 作为字段名称,注意 ambiguous column naming .
有关更多信息,请查看 MySql Joins .希望这对你有帮助:)

关于php - 多表、多 WHERE 和 SELECT MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35581804/

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