SELECT S.用户编号,S.用户姓名 FROM T S WHERE EXISTS(SELECT 1 FROM T WHERE 收费年度='2007' AND应收费用<>0 AND 实收费用<>0 WHERE 用户编号=S.用户编号) AND EXISTS(SELECT 1 FROM T WHERE 收费年度='2008' AND应收费用=0 AND 实收费用=0 WHERE 用户编号=S.用户编号)
SELECT 用户编号,用户姓名 FROM 表 WHERE 应收费用>0 AND 实收费用>0 AND 收费年度='2007' UNION ALL SELECT 用户编号,用户姓名 FROM 表 WHERE 应收费用=0 AND 实收费用=0 AND 收费年度='2008'
SELECT 用户编号,用户姓名 FROM T WHERE ( 收费年度='2007' AND 应收费用 >0 AND 实收费用 >0) or (收费年度='2008' AND 应收费用=0 AND 实收费用=0)
AND EXISTS(SELECT 1 FROM T WHERE 收费年度='2008' AND应收费用=0 AND 实收费用=0 WHERE 用户编号=S.用户编号)
FROM 表
WHERE 应收费用>0 AND 实收费用>0 AND 收费年度='2007'
UNION ALL
SELECT 用户编号,用户姓名
FROM 表
WHERE 应收费用=0 AND 实收费用=0 AND 收费年度='2008'
(收费年度='2008' AND 应收费用=0 AND 实收费用=0)