sql语句请教,在线等待
SELECT BMRQ,
SUM( CASE WHEN yysj>=8 AND yysj<=16 AND Isnull(csny,0) = 1 AND kzbz = '已登录' THEN 1 ELSE 0 END ) as a,
SUM( CASE WHEN yysj>=8 AND yysj<=16 AND (Isnull(csny,0) <> 1 OR kzbz <> '已登录') THEN 1 ELSE 0 END ) as b,
SUM( CASE WHEN yysj>=8 AND yysj<=16 AND Isnull(csny,0) = 1 AND kzbz = '已登录' AND ZCJ>=60 THEN 1 ELSE 0 END )as c
FROM BmInf
WHERE BMRQ >='2005-01-19' AND BMRQ <='2006-01-20'
GROUP BY BMRQ
order by bmrq
其中显示数据如下:
BMRQ a b c
2005-1-1 79 1 75
2005-1-2 0 0 0
2005-1-3 8 0 7
...
...
BMRQ:日期
a:实考人数
b:缺考人数
c:合格人数
我现在要加一个字段d:为合格率= c/a
现在碰到一个问题如果a=0,SQL就会包错
我要求如果a = 0时候 c显示为'/'
当a<> 0就显示c/a的值
不能在GROUP BY BMRQ
语句后面加上一个having语句把a=0的记录过滤掉