【发布时间】:2015-02-25 06:26:10
【问题描述】:
我正在尝试创建三个表来创建视图。这三个表是,
新闻
---------|---------|
newsID | title |
---------|---------|
1 | title1 |
2 | title2 |
3 | title3 |
---------|---------|
cmets
-----------|----------|-----------|
commentID | newsID | comment |
-----------|----------|-----------|
1 | 1 | |
2 | 1 | |
3 | 1 | |
4 | 1 | |
5 | 2 | |
-----------|----------|-----------|
投票
-----------|----------|------|
voteID | newsID | vote |
-----------|----------|------|
1 | 1 | 5 |
2 | 2 | 4 |
3 | 1 | 5 |
-----------|----------|------|
我的查询是
SELECT news.newsID, SUM(votes.vote) AS total,COUNT(comments.commentID) AS comment_count
FROM news
LEFT JOIN votes ON news.newsID = votes.newsID
LEFT JOIN comments ON news.newsID = comments.newsID
GROUP BY newsID
这个查询的结果
-----------|----------|---------------|
newsID | total | comment_count |
-----------|----------|---------------|
1 | 40 | 8 |
2 | 4 | 1 |
3 | null | 0 |
-----------|----------|---------------|
但应该是这样的
-----------|----------|---------------|
newsID | total | comment_count |
-----------|----------|---------------|
1 | 10 | 4 |
2 | 4 | 1 |
3 | null | 0 |
-----------|----------|---------------|
我将使用此查询来创建视图,因此我不能使用子查询。我该如何解决这个问题?
【问题讨论】: