来自几个表的SQL语句

问题描述 投票:-4回答:1

给出以下两个表:

Users table 
id (pk) 
name
avatar 

Comments table 
id (pk) 
id_pic (fk)
id_user (fk)
text 
date

如何创建一个SQL语句,返回id为7的Pics的所有信息?

重要提示:我想要评论(id,文本,日期)和撰写评论的用户(id,name,avatar)的信息

谢谢!

编辑:我试过这个,但它返回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):(

mysql sql join
1个回答
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

希望这是你想要的

© www.soinside.com 2019 - 2024. All rights reserved.