mysql数据库的sql解决方法

mysql数据库的sql
有张表中有个id和类型指段,id可重复,但是id和类型的组合不重复,类型只有1,2,,有些只有一个类型,我现在要查出所有id相同但是只有一个类型的记录,比如id有1,1,2,类型分别是1,2,1,现在我要找到id是2的
------解决思路----------------------
SELECT T1.id
FROM TB T1
WHERE NOT EXISTS(SELECT 1 FROM TB T2 WHERE T1.id=T2.id AND T1.类型<>T2.类型)
GROUP BY T1.id

------解决思路----------------------

假设表的结构如下:

CREATE TABLE t1
(
    id int
,   typecode smallint
)

SQL语句:

SELECT
       t1.*
FROM t1
JOIN (
         SELECT
                id
         FROM t1
         GROUP BY id
         HAVING COUNT(*) = 1
     ) u ON t1.id = u.id