给出以下两个表:
Users table
id (pk)
name
avatar
Comments table
id (pk)
id_pic (fk)
id_user (fk)
text
date
如何创建一条SQL语句,返回ID = 7的Pics的所有信息?
重要提示:我需要来自评论(标识,文本,日期)和已写评论的用户(标识,名称,头像)的信息
谢谢!
编辑: 我尝试了此操作,但是当必须为2时,它将返回1行:
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):(
答案 0 :(得分:2)
此查询对我有用。如果要获取头像和名称,则必须将其包括在SELECT语句中。
SELECT c.id, c.id_user, c.date, c.text, u.avatar, u.name
FROM dbo.comments c
INNER JOIN dbo.users u ON u.id = c.id_user
WHERE c.id_pic = 7
希望这就是您想要的