SQL问题高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/20 02:32:41
SQL = "select pname as 名称,CASE WHEN b.grade = 'A' THEN 产量*1else 产量*0 END as 一等品 from 1 as a inner join 2 as b on b.ph=a.ph"
我用的是access数据库,想计算一等品的产量,数据库中只有各等级产品的产量,我是这样写的,不过不对,请问ACCESS中可以用SQL的CASE语句吗,我错在哪了???

ACCESS里面应该用IIF
SQL = "select pname as 名称,iif(b.grade='A',产量*1,产量*0) as 一等品 from 1 as a inner join 2 as b on b.ph=a.ph"

很久没用了,可能用法有点问题,你自己调试一下吧

ACCESS不可以用CASE语句,但你可用IIF还实现同样的功能:

IIF(b.grade = 'A', 产量, 0)

与你的

CASE WHEN b.grade = 'A' THEN 产量*1else 产量*0 END

是等价的。

关于IIF的详细描述,你可以参考ACCESS的联系帮助。

祝你好运!