2016-11-22 81 views
0

我有3个用户,帖子和评论表。用户表字段mysql - 从评论数和用户,帖子和评论表中获得所有帖子

ID,姓名,性别,电话

职位表中的字段是

POST_ID,USER_ID,职位,时间

意见表字段

ID,USER_ID,评论,post_id,时间

我想要得到这些字段的值

姓名,性别,职位,时间,计数(评论)

+0

你尝试过什么吗? –

+1

你需要在表格中加入JOIN。就是这样... – Rahul

+0

我确实加入了,但是没有对它发表评论,它显示为空。我需要计数 –

回答

0
SELECT x.*, CONCAT(u.FirstName, ' ', u.LastName) as name, u.Gender as gender 
FROM (
    SELECT 
    a.id , a.post, a.date_time, a.user_id as uid, 
    COUNT(c.post_id) AS 'count' 
FROM 
    posts a 
LEFT JOIN 
    comments c ON a.id = c.post_id 
GROUP BY 
    a.id 
) x 
LEFT JOIN users u ON u.id=uid 
+0

谢谢。有用。 –

+0

欢迎@IliasAhmed –

0

尝试为这样的:如果如果你想comments.id为空

SELECT User.name, User.gender, posts.posts, count(distinct ifnull(comments.id, 0)) as commentcount 
FROM User 
JOIN posts on user.id = posts.user_id 
JOIN comments on user.id =comments.user_id 
GROUP User.name, posts.posts 

这里0将取代性别组添加User.gender分组。

+0

始终添加组中的所有非聚合。 –

+0

感谢您的回答。 –