case 和 null 得写法不对 改 case when rkfs is null then ...
to j9988(j9988) 我把SUM放到了外面,不过提示( 不能对包含聚合或子查询的表达式执行聚合函数。)
case when (select top 1 dj,max(rq) as dd from yz_tjb,yz_rkmxb where yz_tjb.yzth=yz_rkmxb.yzth group by dj) is NULL then yz_rkb.dj*zl else yz_tjb.dj*zl end我把那句话改成如上,错误依旧(列前缀 'yz_tjb' 与查询中所用的表名或别名不匹配。) 怎么办呢:(
case (select top 1 yz_tjb.dj from yz_tjb) when NULL then select sum(yz_rkb.dj*zl) from yz_rkb else select sum(yz_tjb.dj*zl) from yz_tjb end
TO sunrisehy2003(黎明) 使用 select sum(yz_rkb.dj*zl) from yz_rkb 那所有的该列值都变成了同一个值了
改
case when rkfs is null then ...
怎么办呢:(
then select sum(yz_rkb.dj*zl) from yz_rkb
else select sum(yz_tjb.dj*zl) from yz_tjb
end
使用 select sum(yz_rkb.dj*zl) from yz_rkb 那所有的该列值都变成了同一个值了