就想腾讯这样,查询同事绑定了多个标签的QQ号我的表是这样设计的
id int 主键
labelid int 标签id
userid int 用户id
然后我需要查询绑定了多个标签的用户id
例如:
id  labelid  userid 
 1    1         1
 2    2         1
 3    1         2我要查询同时绑定了1和2号标签的用户,很显然 结果查出来是1号用户求这样的sql语句sql腾讯标签

解决方案 »

  1.   

    SELECT 1 FROM TT A WHERE EXISTS(SELECT 1  FROM TT WHERE A.userid=userid AND  labelid=1)
    AND 
    EXISTS(SELECT 1  FROM TT WHERE A.userid=userid AND  labelid=2)
      

  2.   

    select userid 
    from tb 
    where labelid in (1,2)
    group by user
    having count(distinct labelid)=2
      

  3.   

    select userid
    from 我的表 a
    where labelid=1
    and exists (select 1 from 我的表 where userid=a.userid and labelid=2)
      

  4.   

    你们两的不合实际,如果有 要查询标签的id,如果要查询4个呢 如果要查询100,1000,10000呢 那你的sql将会有多大 多长 你们自己计划计划