1

2 つのテーブルがRequestありAction、フィールド request_id で結合されています。

簡単なデータ サンプルを次に示します。

Request
request_id    group
100           My Group Name
101           My Group Name
102           My Group Name

Action
request_id    action_id    username
100           10           JDOE
100           11           ASMITH
101           12           SMILLER
102           13           CBROWN

複数のアクションを持つ action_id とユーザー名とともに、すべてのリクエストのリストを取得する必要があります。これが私が現在持っているものですが、1つ以上のアクションを持つすべてのリクエストがリストされています.

したがって、結果は次のようになります。

request_id    action_id    username
100           10           JDOE
100           11           ASMITH

以下は必要なものを選択するために機能しますが、request_id > 1 をそれに組み込む方法がわかりません。

SELECT request.request_id, action.action_id, action.username
FROM request RIGHT JOIN action ON request.request_id = action.request_id
WHERE (((request.group)="My Group Name"))
GROUP BY request.request_id, action.action_id, action.username;

助けてくれてありがとう!!

4

2 に答える 2

2

どうですか:

SELECT 
Action.request_id, 
Action.action_id, Action.username
FROM [Action] 
INNER JOIN Request ON Action.request_id = Request.request_id
WHERE Action.request_id In (
  SELECT request_id FROM action Group By Request_Id 
  HAVING Count(request_id)>1)
AND Request.group="My Group Name"
于 2013-03-28T20:00:41.517 に答える
0

having条項が必要だと思います。これはwhere句に似ていますが、集計された列では次のようになります。

SELECT request.request_id, action.action_id, action.username
FROM request RIGHT JOIN
     action
     ON request.request_id = action.request_id
WHERE (((request.group)="My Group Name"))
GROUP BY request.request_id, action.action_id, action.username
having counte(request.request_id) > 1
于 2013-03-28T20:01:45.500 に答える