0

userid = 1が行ったメッセージの数を数え、次に他のすべてのuseridのメッセージの数を数え、メッセージの数= 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を使用しています。どんな助けでもありがたいです。ありがとうございました。

4

1 に答える 1

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
)
于 2012-05-08T08:09:49.370 に答える