实质就是用了一个case判断
SELECT
(SELECT of.name FROM office of,device de WHERE of.id=de.office_id AND de.id=pd.device_id)resettle_palce,
(CASE
WHEN(SELECT COUNT(1) FROM person_device_punch pdp where pdp.person_id=p.id AND pdp.device_id=d.id AND pdp.flag='Y')>0
THEN '是'
ELSE '否'
END
)rule
FROM
person p,
person_office po,
office o,
device d,
person_device pd
WHERE p.id=po.person_id AND
o.id=po.office_id AND
d.office_id=o.id AND
pd.person_id=p.id AND
pd.device_id=d.id