gpt4 book ai didi

php - MySQL 选择所有记录并为每个选择单独的记录 - 在一个查询中

转载 作者:行者123 更新时间:2023-11-29 06:32:46 25 4
gpt4 key购买 nike

我相信我在这里试图实现的是一个嵌套查询 - 但是我不确定如何继续。

我有 2 个表 usersnotifications 我正在做的是查询 notifications 表以获取详细信息,但是我也是 LEFT OUTER JOIN 在用户表上获取我的用户信息。我拥有的是这样的:

          USERS TABLE     
| user id | username | user image |


NOTIFICATIONS TABLE
| receiver id | sender id |

仅获取接收者信息不是问题,因为我使用以下查询:

SELECT
notifications.senderID, notifications.receiverID, users.username, users.image
FROM
notifications
LEFT OUTER JOIN users ON users.id = notifications.receiverID
WHERE notifications.receiverID = ' xxx '

我需要添加的是一种方法,可以为找到的每条记录获取THAT记录的users.username和users.image(对应于users.id for notifications.senderID) 以及主记录(notifications.recieverID)

如果可能,我想将它保留在一个查询中,而不是在 PHP foreach 循环之外。

最佳答案

使用不同的别名两次加入 users

SELECT notifications.senderID, notifications.receiverID, 
receiver.username as receiver_name, receiver.image as receiver_image,
sender.username as sender_name, sender.image as sender_image
FROM notifications
LEFT OUTER JOIN users as receiver ON receiver.id = notifications.receiverID
LEFT OUTER JOIN users as sender ON sender.id = notifications.senderID
WHERE notifications.receiverID = ' xxx '

关于php - MySQL 选择所有记录并为每个选择单独的记录 - 在一个查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26883072/

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