加入4个mysql表的方法

时间:2012-08-19 07:05:21

标签: mysql join

在MySQL中加入4个表来检索数据。

我需要加入4个表格的最佳方式:

1。用户

ID        NAME
1          me
2          you 
3          her

2。制品

ID   USER_ID   ARTICLE
1       1         etc
2       1         etc
3       2         third  

第3。 Article_comments

ID    ARTICLE_ID    COMMENT    
1        1            etc
2        1            etc
3        3            etc 

4。文章要点

ID ARTICLE_ID   POINTS
1      1         100  
2      1         200
3      2          50 
4      2          10   

我需要一种方法来加入它们来检索:

ARTICLE | USERNAME | TOTAL COMMENTS PER ARTICLE | TOTAL POINTS PER ARTICLE  

例如:对于第1条:etc | me | 2 | 350
对于2:etc | you | 0 | 60,所以对所有人都是一个。

2 个答案:

答案 0 :(得分:0)

SELECT
    Articles.ID,
    Articles.USER_ID,
    Articles.ARTICLE,
    Users.NAME,
    COUNT(Article_comments.ID) AS `num_comments`,
    SUM(Article_points.POINTS) AS `points`
FROM
    Articles
INNER JOIN
    Users
ON
    Articles.USER_ID = Users.ID
LEFT OUTER JOIN
    Article_comments
ON
    Article_comments.ARTICLE_ID = Articles.ID
LEFT OUTER JOIN
    Article_points
ON
    Article_points.ARTICLE_ID = Articles.ID
GROUP BY
    Articles.ID

答案 1 :(得分:0)

这也是我所做的,但对于有更多评论和观点的记录却无法正常工作。对于EX上面的interogation,第1条将返回:

ID USER_ID文章名称num_comments点 1 1等我4 600