为啥SQL中select语句中,有时用:case......when …… then …… else …… end as x
为啥SQL中select语句中,有时用:case......when……then……else……endasxxx,有时又用:case......when……then……e...
为啥SQL中select语句中,有时用:case......when …… then …… else …… end as xxx,有时又用:
case......when …… then …… else …… end xxx(没有as)?
重点是为什么有时带as,有时不带as? 展开
case......when …… then …… else …… end xxx(没有as)?
重点是为什么有时带as,有时不带as? 展开
2个回答
展开全部
selectsum(casewhenA.CLOSE_ID='T'then1else0end)from(selectdistinctA.CLOSE_ID,A.MO_NOfromA)T'完成种数'=COUNT(CASEWHENA.CLOSE_ID='T'THENA.MO_NOELSE0END)这句的逻辑就有问题,你要求A.CLOSE_ID='T'时,A.MO_NO的个数吗看那样你直接写selectcount(A.MO_NO)fromAwhereA.CLOSE_ID='T'就好了就算你一定要用casewhenthen,你也要用sum而不是count,你用count是所以(CASEWHENA.CLOSE_ID='T'THENA.MO_NOELSE0END)的个数,就算是0,它也是个值,仍然会被count进去啊,你只有sum时,0才是不会起做用的数。
追问
没看懂,我问的是end后为什么有的带as然后跟一个名称,有的不带as直接跟一个名称?
我可能没表述明白,抱歉,非专业人士。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询