SQL问题
一个简单的SQL语句
select last1 into :qty1 from wh_now where warehouse_id=:warehouse_id and batch_id=:batch_id and zone_id=zone_id;
问题是如果查询条件中有空值时,即使数据库中有这一符合条件的记录,qty1也是0,如果全用 is null 的话,条件中不为空的记录就查不出来了,请问这个问题如何解决
问题点数:0、回复次数:6Top
1 楼lmby(鹿门布衣)回复于 2003-12-02 14:43:58 得分 0
if isnull( warehouse_id ) then
select last1 into :qty1 from wh_now where warehouse_id is null and
batch_id=:batch_id and zone_id=zone_id;
else
select last1 into :qty1 from wh_now where warehouse_id=:warehouse_id and
batch_id=:batch_id and zone_id=zone_id;
end if
batch_id类似。
Top
2 楼abcde54321()回复于 2003-12-02 14:51:22 得分 0
那得写多少SQL语句啊,比如说 warehouse_id为空时其它两个有可能全不为空,有可能全为空,也有可能一个为空,有没有其它的办法
Top
3 楼mittee(最后一条大白鲨[无限深情凝视花花版])回复于 2003-12-02 18:31:49 得分 0
对表进行改造一下,减少查询的条件Top
4 楼dlxxliu(阿风)回复于 2003-12-02 20:31:02 得分 0
增加一些"或"条件,如:or warehouse_id is null.Top
5 楼qqjj7758(QQJJ)回复于 2003-12-03 08:30:24 得分 0
对表做些约束Top
6 楼371xingxiu(星宿)回复于 2003-12-03 14:20:04 得分 0
给表的字段加上默认值不就行了…………Top




