在我的表中有5个不同的事件1,2,3,4,5。在与会者专栏中,有与会者参加了这些活动。并且在isThisuserHost列中有0和1标志。 1为主持活动的主持人,1为参加活动的与会者。我需要显示主持人为2且参与者为4的事件。在此表中我们可以看到事件1,2和4是主持人的那些行是2,与会者是4.如何使用单个查询提取结果。请看图像。先谢谢
答案 0 :(得分:0)
尝试以下查询:
select distinct eventid
from mytable m1
where 2 in (select attendee
from mytable m2
where m2.eventid = m1.eventid
and isTheuserHost = 1
)
and 4 in (select attendee
from mytable m3
where m3.eventid = m1.eventid
and isTheuserHost = 0
)
答案 1 :(得分:0)
你需要一个自我加入:
select h.eventId
from myTable h
join myTable a using(eventId)
where h.isTheuserHost = 1
and a.isTheuserHost = 0
and h.attendee = 2
and a.attendee = 4
h
和a
是同一个表的不同别名。 h
代表托管人,a
代表isTheuserHost
列的相应条件的anttendee。然后你可以使用那个表,好像它是两个。