【发布时间】:2013-11-26 17:19:03
【问题描述】:
我在加入 2 个查询时遇到问题,但在第二个查询中我只想输入计数。
第一个查询运行良好
SELECT DISTINCT forum_sub.sub_id, forum_id, title, text, url, forum_sub.userid, members.first_name, views
FROM forum_sub, members
WHERE members.userid = forum_sub.userid AND forum_sub.forum_id = 1
ORDER BY forum_sub.timestamp DESC
显示以下内容
----------------------------------------------------------------------
sub_id | forum_id | title | text | url | userid | first_name | views |
----------------------------------------------------------------------
20 | 1 | test | test |test | 1001 | JOhn | 123 |
----------------------------------------------------------------------
1 | 1 | test | test |test | 1002 | Pete | 23 |
----------------------------------------------------------------------
10 | 1 | test | test |test | 1003 | Harry | 34 |
----------------------------------------------------------------------
但现在我想将上面的 sub_id 加入另一个名为 forum_topics 的表中,并计算有多少相同的 sub_id 并带入该值
例如我可以使用
SELECT sub_id, COUNT(sub_id) as topics FROM forum_topics GROUP BY sub_id
-----------------
|sub_id | topics|
---------------
| 1 | 4 |
-----------------
| 10 | 3 |
-----------------
| 20 | 5 |
-----------------
我的问题是如何加入这 2 个查询,以便得到类似的结果
----------------------------------------------------------------------------
sub_id | forum_id | title | text | url | userid | first_name | views | count|
-----------------------------------------------------------------------------
20 | 1 | test | test |test | 1001 | JOhn | 123 | 5 |
-----------------------------------------------------------------------------
1 | 1 | test | test |test | 1002 | Pete | 23 | 4 |
-----------------------------------------------------------------------------
10 | 1 | test | test |test | 1003 | Harry | 34 | 3 |
-----------------------------------------------------------------------------
任何帮助都会很棒,我知道我需要使用子查询,但我几乎整天都被困在这个问题上,没有运气
【问题讨论】:
-
你用论坛主题做什么?
where子句可能需要根据您的from子句进行一些更改。 -
forum_topics 不应该在顶级查询中真正需要,但是 forum_topics 是 sub_id 的计数所在的表,例如该主题可能有 10 个 cmets,我希望它计算多少在每个主题中。