来自几个表的SQL语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自几个表的SQL语句相关的知识,希望对你有一定的参考价值。

给出以下两个表:

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):(

答案

这个查询对我有用。如果要获取头像和名称,则必须将其包含在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

希望这是你想要的

以上是关于来自几个表的SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3 - 处理来自几个表的数据

使用SQL的更新语句时,一次可以对几个表进行更新?

sql数据库中,如何快速找数据量最大的几个表

来自 2 个表的数据未显示在同一页面上

NNER JOIN连接两个表三个表五个表的SQL语句

SQL Server:根据来自其他 2 个表的子查询从表中选择