gpt4 book ai didi

php - 从三张表SQL中获取数据

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

我的MySQL表结构(3表)

用户

id
username

图片

id
user_id
image

用户关注

id
user_id
follow_id

我尝试做查询,从我 (user_id = 3) 和我关注“user_follow”表的 friend 那里得到“图像”表中的所有图像

现在查询,它给了我我关注的用户的所有图片,我不知道要添加什么更改以返回我的图片(我的 user_id = 3)。所有用户名必须在用户名中(不是id),用户名在“用户”表中

 $sql = "SELECT u.username, p.image, p.date
FROM users u, user_follow f, images p
WHERE f.user_id = 3 AND f.follow_id = u.id AND f.follow_id = p.user_id
ORDER BY p.date DESC";

它返回:

[0] => Array
(
[id] => 8
[image] => fsfsf
[date] => 2012-01-24 14:58:14
)

[1] => Array
(
[id] => 7
[image] => first.jpg
[date] => 2012-01-24 14:42:27
)

[2] => Array
(
[id] => 7
[image] => second.jpg
[date] => 2012-01-24 14:42:27
)

[3] => Array
(
[id] => 6
[image] => the_last.jpg
[date] => 2012-01-24 01:49:45
)

我关注的用户和他们的图片,但没有来 self 的 user_id 的图片

最佳答案

SELECT
images.*,
users.username
FROM images
LEFT JOIN users ON images.user_id = users.id
LEFT JOIN user_follow ON images.user_id = user_follow.follow_id
WHERE images.user_id = 3 OR user_follow.user_id = 3
ORDER BY images.date DESC

关于php - 从三张表SQL中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8993063/

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