求有关delphi里访问Access的SQL语句写法!!(100分)

  • 主题发起人 主题发起人 stu
  • 开始时间 开始时间
S

stu

Unregistered / Unconfirmed
GUEST, unregistred user!
做一个库存查询:
例如:
在Access里面这样写:
select t1.name,t1.code, sum(t1.a)-NZ(sum(t2.b),0) as 库存
from t1
left join t2 on t1.code=t2.code
group by t1.name
order by t1.name
在SQLSERVER2000里这样写:
select t1.name,t1.code, sum(t1.a)-sum(isnull(t2.b),0) as 库存
from t1
left join t2 on t1.code=t2.code
group by t1.name
order by t1.name
问题就是,当后面一项为空时,如果不用NZ或ISNULL函数,统计出来的值是一个空值,不会就是

sum(t1.a)的值。
我在ACCESS里做了一个查询,把计算结果计算出来了,我想应用这个结果,用Table,Query,

Storproduct都提示没有NZ函数。因为,NZ是ACCESS里面的语法,而我是在delphi里调用。但是用ISNULL也不行的,因为,ISnull是

SQLserver里面的,而我的后台是ACCEsS.我现在需要继续使用Access做,我不想改数据库的。得想办法实现。
 
NZ(sum(t2.b),0)
改成
iif(sum(t2.b) is null,0,sum(t2.b))
试试
 
你用iif函数就行了,iif(isnull(字段),0,字段),access就是这样,麻烦的要死
 
多人接受答案了。
 
后退
顶部