2011-10-17 23 views
0

特定のグループによって開催されたイベントに参加した人の総数を特定しようとしています。合計イベント出席者の計算

参加者の総数、参加可能な最大出席者、イベントのタイトル、イベントの日付、イベントの連絡先を表示したいとします。私は次のクエリをさまざまな方法で試しましたが、MS Access 2007で「paramenter値の入力」ダイアログボックスを表示し続けます。変更する必要があるのは何ですか?

SELECT sum(eventAttendance.attended) AS attendanceTotal, events.max, events.title, events.date, events.eventContact, events.unit 
    FROM (client INNER JOIN eventAttendance ON client.clientID=eventAttendance.clientID) INNER JOIN events ON eventAttendance.ID=events.id 
    WHERE events.unit='CTL'and eventAttendance.attended = 'yes' 
    GROUP BY attendanceTotal, events.max, events.title, events.date, events.eventContact, events.unit; 

ありがとうございます。

Table Relationships

+0

このセクションでは、 'および'の前にスペースが必要です。 'events.unit = 'CTL'and' – HansUp

+0

パラメータボックスは何を求めていますか? 「出席総数」?または「CTL」と「? – HansUp

+0

@ HansUp:出席者の合計金額を入力します。 – aparker81

答えて

2
SELECT 
    events.[max], 
    events.title, 
    events.[date], 
    events.eventContact, 
    events.unit, 
    Count(eventAttendance.attended) AS attendanceTotal 
FROM 
    (client INNER JOIN eventAttendance 
    ON client.clientID=eventAttendance.clientID) 
    INNER JOIN events ON eventAttendance.ID=events.id 
WHERE 
     events.unit='CTL' 
    AND eventAttendance.attended = 'yes' 
GROUP BY 
    events.[max], 
    events.title, 
    events.[date], 
    events.eventContact, 
    events.unit; 

I)は、(カウントする)(合計からの集計関数を変更しました。集計関数がGROUP BY句に含まれないことに注意してください。GROUP BYは、グループを決定するフィールド(またはフィールド式)のみを一覧表示します。集計関数

フィールド名の最大値と日付の前後に大括弧を追加しました。これらは両方ともreserved wordsです。名前を括弧でくくっておくと、データベースエンジンを混乱させる危険が少なくなります。

を編集します。関係を示す画像には、追加の予約語​​がフィールド名として表示されることも示されています。 Allen BrowneのDatabase Issue Checker Utilityをダウンロードして、あなたのアプリケーションをチェックしてください。予約語やその他の潜在的な "問題点"の問題について警告します。

+0

大括弧について教えていただきありがとうございます。これは私が望むものに近づいています。ただし、attendanceTotalは、イベントに参加した人の数をカウントする代わりに、値1を返します。 – aparker81

+0

クライアントテーブルがこのクエリにどのような影響を与えるのか分かりません。私が示唆したように、データのサンプルを表示するのに役立ちます。 – HansUp

+0

クライアントテーブルのclientIDは、eventAttendanceテーブルのclientIDと一致します。クライアントがイベントに出席した場合、clientIDは存在し、出席者フィールドは「はい」とマークされます。 私はどんな種類のサンプルをさらに援助することができますか? – aparker81