【发布时间】:2018-09-19 18:22:28
【问题描述】:
给定以下两个表:
Users table
id (pk)
name
avatar
Comments table
id (pk)
id_pic (fk)
id_user (fk)
text
date
如何创建一个 SQL 语句来返回 id=7 的 Pics 的所有信息?
重要提示:我想要来自评论(id、文本、日期)和撰写评论的用户(id、姓名、头像)的信息
谢谢!
编辑: 我试过了,但它返回了 1 行,而它必须是 2:
SELECT c.id, c.id_user, u.avatar, u.name, c.date, c.text
FROM Comments c
INNER JOIN Users u
ON u.id=c.id_user AND c.id_pic=7;
编辑 2: 部分数据:
Users
id name avatar
1 joe true
2 lee false
Comments
id id_pic id_user text date
1 7 2 cool 2018-09-09
2 7 1 great 2018-09-10
3 10 1 ugly 2018-09-10
编辑 3: 当我这样做时它工作正常:
SELECT c.id, c.id_user, c.date, c.text
FROM Comments c
INNER JOIN Users u
ON u.id=c.id_user AND c.id_pic=7;
但它没有在行中显示我需要的信息(u.avatar 和 u.name):(
【问题讨论】:
-
也给我们展示一些示例数据.....
-
您的查询对我来说运行良好并返回 2 行:sqlfiddle.com/#!9/b5ede5/1
-
您的查询是正确的,它应该返回 2 条记录。再试一次!
-
你使用 select *.我不想用那个
-
@Ommadawn,您发布的查询是您正在运行的完整语句还是您有更多?按原样发布的查询将返回正确的数据。