Mysql 来自多个表的SQL语句
鉴于以下两个表格:Mysql 来自多个表的SQL语句,mysql,sql,join,Mysql,Sql,Join,鉴于以下两个表格: Users table id (pk) name avatar Comments table id (pk) id_pic (fk) id_user (fk) text date 如何创建一个SQL语句,返回id=7的PIC的所有信息 重要提示:我需要来自评论(id、文本、日期)和撰写评论的用户(id、姓名、头像)的信息 谢谢 编辑: 我尝试了这个,但它返回我1行,而它必须是2: SELECT c.id, c.id_user, u.avatar, u.name
Users table
id (pk)
name
avatar
Comments table
id (pk)
id_pic (fk)
id_user (fk)
text
date
如何创建一个SQL语句,返回id=7的PIC的所有信息
重要提示:我需要来自评论(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):(这个查询对我有效。如果你想获得化身和名称,你必须将其包含在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
希望这就是您要查找的内容同时向我们显示一些示例数据…..您的查询对我来说运行良好,返回2行:您的查询正确,应该返回2条记录。请重试!您使用select*。我不想使用that@Ommadawn,您发布的查询是您正在运行的完整语句,还是您还有更多内容?查询按原样发布将返回正确的数据。此查询与他发布的查询没有区别。它们都将返回相同的值。