请给出一些方法来实现以下数据集的数据集

时间:2017-12-05 20:05:36

标签: mysql

在我的表中有5个不同的事件1,2,3,4,5。在与会者专栏中,有与会者参加了这些活动。并且在isThisuserHost列中有0和1标志。 1为主持活动的主持人,1为参加活动的与会者。我需要显示主持人为2且参与者为4的事件。在此表中我们可以看到事件1,2和4是主持人的那些行是2,与会者是4.如何使用单个查询提取结果。请看图像。先谢谢

My Table

2 个答案:

答案 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

ha是同一个表的不同别名。 h代表托管人,a代表isTheuserHost列的相应条件的anttendee。然后你可以使用那个表,好像它是两个。