【发布时间】:2014-03-05 06:24:28
【问题描述】:
这是一个查询,应该获取用户信息、他们的项目信息,以及与该项目关联的所有图像路径的 group_concat。除此之外,我只从用户关注的人那里得到提到的信息。
然而,这只返回一行。
SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time, group_concat(images.image_path)
FROM users, projects, images
WHERE users.user_id = projects.user_id
AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1)
ORDER BY projects.project_id DESC
比较:以下查询 WORKS 在循环中提供所有用户信息和与该用户相关的项目信息。
SELECT users.first_name, users.last_name, users.user_id, projects.project_id, projects.project_name, projects.project_time
FROM users, projects
WHERE users.user_id = projects.user_id
AND users.user_id IN (SELECT follow_user_2 FROM following WHERE follow_user_1 = 1)
ORDER BY projects.project_id DESC
当我尝试使用 group_concat 时,它只会返回 一个 行,我不明白为什么。
有人可以帮帮我吗?谢谢你。如果我的问题不够清楚,我会详细说明。
如果这有帮助,这里有一个 SQL FIDDLE。 http://www.sqlfiddle.com/#!2/867f6/2 我不得不大大缩短我的架构。尝试以上两个查询以查看问题。
【问题讨论】:
-
这个
follow_user_1 = 1条件申请的是什么?似乎缺少与images表的连接条件。 -
@DipenduPaul 实际上是 $user_id 而不是“1”。它是动态的。