sql - 使用连接查询从四个不同的表中获取记录

标签 sql sql-server database

表:帖子

id       user_id     group_id    Text
1         1            1         AAA
2         2            2         BBB
3         2            2         CCC
4         3            2         DDD
5         2            3         EEE

表:用户主控

user_id     username   
1           Raj 
2           Meet
3           Kishan

表:组

group_id     groupname
1            JAVA
2            PHP
3            SEO

表:加入请求

id      user_id     group_id    status
1        1           3          deactive
2        2           2          active
3        2           1          active
4        1           3          active

我的查询在这里:

//Help me improve my query to get the desired result.
select  * FROM Post  
where status = active in JoinRequest table

和 user_id='2'

预期结果:

id     username       Groupname     Text     
1      Raj             JAVA         AAA
2      Meet            PHP          BBB
3      Meet            PHP          CCC
4      Kishan          PHP          DDD

最佳答案

select p.id, u.username, g.groupname, p.text
from posts p
join userMaster u on u.user_id = p.user_id
join groups g on g.group_id = p.group_id
join joinRequest r on r.user_id = p.user_id 
                  and r.group_id = p.group_id
where r.status = 'active'

关于sql - 使用连接查询从四个不同的表中获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31986437/

相关文章:

sql - 在不存在的地方插入值

sql - 可以在 Spark sql 中使用合并与数据透视/计数来将空值映射到零吗?

sql - 使用 TOP 在 SELECT 中选择

SQL:添加日期必须是月末的列约束

php - 循环sql查询时

sql - 为什么sql不比较时间?

sql-server - Delphi Firedac MSSQL复制到不同的服务器

mysql - 将图像从数据库添加到谷歌地图信息窗口

database - 我知道大局,但不能把它放在适当的位置

mysql - 通过命令提示符使用本地计算机 SQL 更新在线 MySQL?