
一个比较复杂的sql问题,5个表联表查询,帮帮小弟
现在有5个表diary表:当type_id='1'是为说说discuss表:评论表key_id与diary中id对应用户表:有user_idusername还有一个fri...
现在有5个表
diary表:当type_id='1'是为说说
discuss表:评论表 key_id与diary中id对应
用户表:有user_idusername还有一个friend_list表:
还有一个praise表 点赞表 praised_id与diary中id对应
现在要做的是:
查询某个用户如user_id='xxx'的及其他所有好友的说说内容,说说的id, 用户名, 说说被评论次数,被点赞的次数
要一条sql写完。不知道能否实现 展开
diary表:当type_id='1'是为说说
discuss表:评论表 key_id与diary中id对应
用户表:有user_idusername还有一个friend_list表:
还有一个praise表 点赞表 praised_id与diary中id对应
现在要做的是:
查询某个用户如user_id='xxx'的及其他所有好友的说说内容,说说的id, 用户名, 说说被评论次数,被点赞的次数
要一条sql写完。不知道能否实现 展开
1个回答
展开全部
可以的,不过楼主你也给点分吧! 这么多,都不给分不厚道!
select F.user_id ,U.username
(
SELECT COUNT(1) AS PLCOUNT FROM diary D
LEFT JOIN discuss P ON P.key_id = D.ID
where d.user_id = F.user_id
) AS PLCOUNT,
(
SELECT COUNT(1) AS DZCOUNT FROM diary D
LEFT JOIN praise Z ON Z.praised_id =D.ID
where d.user_id = F.user_id
) AS plCount,
from friend_list F
LEFT JOIN user_id A ON F.FRIEND_ID = A.user_id
LEFT JOIN username U ON U.user_id = F.user_id
WHERE A.user_id ='XXXX'
更多追问追答
追答
select F.user_id ,U.username ,
(
SELECT COUNT(1) AS PLCOUNT FROM diary D
LEFT JOIN discuss P ON P.key_id = D.ID
where d.user_id = F.user_id
) AS PLCOUNT,
(
SELECT COUNT(1) AS DZCOUNT FROM diary D
LEFT JOIN praise Z ON Z.praised_id =D.ID
where d.user_id = F.user_id
) AS plCount,
from friend_list F
LEFT JOIN user_id A ON F.FRIEND_ID = A.user_id
LEFT JOIN username U ON U.user_id = F.user_id
WHERE A.user_id ='XXXX'
不好意思 username 后面少了个","号,你再看看! 这个应该在MYsql也是可以执行的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询