у меня есть три участника таблицы ( memberid , m_name, statusid, адрес, DOB, телефон) бронирование ( bookingid , memberid, sessionid, стоимость) сеанс ( sessionid , активность, местоположение)
(fk memberid, fk sessionid) БРОНИРОВАНИЕ - это связь с (member pk) и (session pk)
сессионная активность похожа на футбол, плавание, бадминтон, теннися хочу выполнить следующий запрос
найти имя всех участников, которые забронировали какой-либо сеанс для «футбола», но не для какого-либо сеанса для «плавания» в декабре 2009 года
sql
select DISTINCT Event1.m_name ,Event1.activity
FROM
(
select mm.m_name,ss.activity,ss.sessionid,ss.s_date
from member mm
inner join booking bb on bb.memberid = mm.memberid
inner join session ss on ss.sessionid = bb.sessionid
where activity = 'football'
)as Event1
INNER JOIN
(
select mm.m_name ,ss.activity,ss.sessionid,ss.s_date
from member mm
inner join booking bb on bb.memberid = mm.memberid
inner join session ss on ss.sessionid = bb.sessionid
where mm.memberid not in
(
select mm.memberid
from member mm
inner join booking bb
on bb.bookingid = mm.memberid
inner join session ss
on bb.sessionid = ss.sessionid
where ss.activity in ( 'swimming')
)
) as Event2
on Event1.sessionid = Event2.sessionid
что я делаю не так, верни мне член, у которого есть книга по футболу и покер.