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'?
谢谢
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'?
谢谢
解决方案 »
- 多行数据出一结果除了游标还有什么好方法
- SQLserver2008 怎么学习写存储过程,游标和函数
- *******小女子有事需要大家帮忙?从VFP库中取数据至Oracle(望邹健及各位高手请不吝赐教)*****
- 关于添加数据到一个临时表的存储过程该怎么写?
- sql基础问题!各位大侠快来帮忙啊!!
- 关于追加查询
- Windows Server 2003 64位对Sql2000 32兼容性怎么样啊 会不会影响性能
- 为什么中文字符是乱码?急~~~~~~~~~~~~~~~~
- 高分求救:如何恢復我的數據庫,在線等待,急!
- 寻找数据库方面的一本电子书
- 请教:如何实现测试数据库与正式数据库的表结构等的同步问题
- 问一下updlock的问题
正确