刚才帖子结得太快
SELECT * FROM TT A WHERE EXISTS(SELECT 1 FROM TT WHERE A.object_id=object_id AND term_taxonomy_id=67)
 AND
  EXISTS(SELECT 1 FROM TT WHERE A.object_id=object_id AND term_taxonomy_id=72)
 AND 
  EXISTS(SELECT 1 FROM TT WHERE A.object_id=object_id AND term_taxonomy_id=69)

解决方案 »

  1.   

    select object_id
    from tb
    where term_taxonomy_id in (67,69,72)
    group by object_id
    having count(*)=3
      

  2.   

    select object_id from XXX_terms where term_taxonomy_id in (67,69,72) 
    group by objet_id having count(object_id) >=3 
      

  3.   


    orselect object_id from XXX_terms where term_taxonomy_id in (67,69,72) 
     group by objet_id having count(distinct term_taxonomy_id) =3 
      

  4.   

    select object_id
    from xxx_terms a 
    where term_taxonomy_id=67
    and exists(select 1 from xxx_terms where object_id=a.object_id and term_taxonomy_id=69)
    and exists(select 1 from xxx_terms where object_id=a.object_id and term_taxonomy_id=72)