a表,notice,公告,字段id,level_notice
b表,reply,回复,字段notice_id,staff_number
c表,reply,回复
注:
notice表,id是主键,唯一的,不重复。
reply表,notice_id对应notice表的id,有多个记录有同样的notice_id(每个人回复一次,就增一条记录)想做到:
从a表中查级别号(level_notice)为'5'(字符型)的,id=reply.notice_id的,且在reply中,所有满足a.id=b.notice_id条件者,staff_number不存在'565'这个具体值的。('565'没有回复。)我写的SQL是
select a.id from notice a,reply b where a.level_notice='5' and a.id = b.notice_id and '565' not in (select trim(c.staff_number) from reply c where c.id = b.id) group by a.id 
结果多出一条来。例子:
a表:
id,级别
187,5
194,5
215,5b表:
notice_id,回复人
215,565
215,56
是不是SQL认为'565' not in '56'?
谢谢