SQL语句小问题

来源:百度知道 编辑:UC知道 时间:2024/05/03 06:54:02
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type

这句话的输出结果我知道 但是不明白括号里的到底什么意思 求高手指点下

条件控制语句,按英文意思就可以很容易理解,我举个例子你看一下:
select name 姓名,case sex when boy then 男 else 女 end from student.

这个有点像三元运算符,符合When的条件就得到then后的值,否则就得到else后的值.
明白?呵

sum(case vender when 'A' then pcs else 0 end),当表中"vender" 等与"A" ,则 pcs 求和,否则求和值等于0

应该是在按type分组统计的基础上再对vender 再按A,B,C分组统计,并且将A,B,C结果行转列。

(case vender when 'A' then pcs else 0 end),当VENDER是A的时候,结果为PCS(即对SUM求和),否则结果为0