次のデータを返す SQL クエリが必要です。
DES_EVENT | DATE_EVENT | INSCRIBED_PARTICIPANTS
そして私のテーブルは(他の列は隠されています)
**EVENT**
ID
DES_EVENT
DATE_EVENT
**EVENT_ACCESS**
NAME
EVENT_ID
**PARTICIPANT**
EVENT_ID
注: テーブルの参加者は、参加者が登録されているすべてのイベントを登録します。
特定のユーザーが主催したイベントと、登録された参加者の数を知りたいです。
次のクエリを実行しようとしました。
SELECT
e.des_event,
e.date
FROM
event e,
event_access ea
WHERE
ea.name = ?
AND
ea.event_id = e.id
このクエリでは、参加者の数を取得できません。そこで、次のクエリを実行しようとしました。
SELECT
e.des_event,
e.date
FROM
event e,
event_access ea,
participant p
WHERE
ea.name = ?
AND
ea.event_id = e.id
AND
p.event_id = ea.event_id
各イベントの行は、このイベントに登録された参加者ごとに繰り返されますが、質問の上部にあるように、SQL の結果の別の列でこの複製数を取得したいと考えています。
count() 関数を使用すると、オラクルはエラーを返します
(ORA-00937: 単一グループのグループ関数ではありません)
どうすれば正しい結果を得ることができますか?