注:Access 2000 数据库
有
表A
[ID],[姓名]
表B
[ID],[分数]select 表A.姓名 as 考生姓名,sum(表B.分数) as 总分数 from 表A left join 表B ON 表A.ID = 表B.ID现在有一个问题就是
假设表B中没有表A.ID的数据,此语句就会出错(因为left join后表B.分数 是 Null值)
如何使这种情况下让 总分数 = 0 呢?
有
表A
[ID],[姓名]
表B
[ID],[分数]select 表A.姓名 as 考生姓名,sum(表B.分数) as 总分数 from 表A left join 表B ON 表A.ID = 表B.ID现在有一个问题就是
假设表B中没有表A.ID的数据,此语句就会出错(因为left join后表B.分数 是 Null值)
如何使这种情况下让 总分数 = 0 呢?
我明白了
正确的应该是select 表A.姓名 as 考生姓名,sum(iif(isnull(表B.分数),0,表B.分数)) as 总分数 from 表A left join 表B ON 表A.ID = 表B.ID group by 表A.姓名
from 表A left join 表B ON 表A.ID = 表B.ID这个绝对是正确的,我就是一直用SQLSERVER,根本不用IIF,回答人家的问题要负责任的.
IIF在SQL SERVER能用吗?