私は3つのテーブルを持っています
Member - MemberID, gender, etc
Venue - VenueID, City, VenueName, etc
Event - EventID, EventDate, etc
都市がグラスゴーで、2012 年 1 月の期間の各イベントの男性と女性の数を示すクエリを表示しようとしています。
これまでの私の結果は です。
SELECT Venue.VenueName, Venue.City, Event.Eventdate, (select count(gender) from member where gender = 'm') AS MaleTotal, (select count(gender) from member where gender = 'f') AS FemaleTotal
FROM Venue INNER JOIN Event ON Venue.VenueID = Event.FKvenueID
WHERE Venue.City='Glagow' and Month(eventdate)=1 and year(partydate) = 2011;
これにより、次の表が生成されます
VenueName-ABC Venue, XYZVenue;
City- Glasgow, Glasgow;
Partydate- 04/01/2012, 05/01/2012
MaleTotal-4,4
FemaleTotal-3,3
これは間違っています。メンバー テーブルには合計 7 つのエントリしかなく、それぞれが 1 つのイベントにしか参加していません。
どんな提案でも大歓迎です。