编写一个严格满足同一列多重条件的选择查询

时间:2018-04-03 12:57:29

标签: mysql sql database

我想通过连接两个表来编写一个select查询。 喜欢这个..

select entityid from  companytagrel left join taginfo on companytagrel.tagid=taginfo.tagid where taginfo.tag = "own" and taginfo.tag ="rocking";

其中表companytagrel和taginfo之间的关系是N-> 1 我想选择严格满足其taginfo.tag所拥有和摇摆的条件的entityid。

  

注意:公司可以拥有任意数量的标签。

companytagrel's column->(uniqueid,entityid,tagid)
taginfo's column -> (tagid,tagname)

1 个答案:

答案 0 :(得分:3)

您可以使用group byhaving

执行此操作
select ct.entityid
from companytagrel ct left join
     taginfo t
     on ct.tagid = t.tagid
where t.tag in ('own', 'rocking')
group by ct.entityid
having count(distinct t.tag) = 2;