select * from tablename where pactid in(select pactid from tablename where group by pactid having count(*)>1)

解决方案 »

  1.   

    <一>如上楼所说
    SELECT *
    FROM   TABLENAME
    WHERE  PactID IN (SELECT   PactID 
                 FROM     TABLENAME
                 WHERE    ModelID IN (3,4)      ------
                 GROUP BY PactID 
                 HAVING   COUNT(* ) > 1)
    <二>自连接
    SELECT T1.*
    FROM   TABLENAME T1
           INNER JOIN TABLENAME T2
             ON T1.PactID  = T2.PactID 
                AND T1.ModelID <> T2.ModelID 
    WHERE  T1.ModelID IN(3,4)