2

在 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.文章_评论

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等等所有的一条。

4

2 回答 2

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
于 2012-08-19T07:33:25.653 回答
0

这也是我所做的,但不适用于有更多评论和点的记录。对于EX上面的询问,第1条将返回:

ID USER_ID ARTICLE NAME num_comments points 1 1 etc me 4 600

于 2012-08-20T06:50:15.623 回答