MS ACCESS SQL:如何进行嵌套计数

时间:2012-05-08 08:02:13

标签: sql ms-access-2007

我正在尝试计算userid = 1所做的消息数量,然后计算所有其他用户ID的消息数量,并打印出消息数量= userid = 1的消息数量的人员名称

所以我需要做一个嵌套计数。我有2张桌子。消息和用户。

例如:

SELECT COUNT(*)
FROM MESSAGES
WHERE user_id = 1

结果是2。 然后我需要

SELECT COUNT(*)
FROM MESSAGES
WHERE COUNT(*) = 2

如何为此进行嵌套计数,以便我可以执行类似

的操作
SELECT USER.user_name
FROM MESSAGES INNER JOIN USER ON MESSAGES.user_id = USER.user_id
WHERE COUNT(*) = (    
SELECT COUNT(*)
FROM MESSAGES
WHERE user_id = 1
)

以上示例对我不起作用。我正在使用MsAccess。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用HAVING语法

SELECT USER.user_name
FROM MESSAGES INNER JOIN USER ON MESSAGES.user_id = USER.user_id
GROUP BY MESSAGES.user_id, USER.user_name
HAVING COUNT(*) = (    
SELECT COUNT(*)
FROM MESSAGES
WHERE user_id = 1
)