SQL请教语句怎么写
你要用SQL实现你的要求,你必须说时你用的数据库(SQL只是一种语言,有上百种数据库支持SQL语言且它们有区别的),如对你的问题sqlserver可用case...when,access可用iif,而oracle可用decode
由于你的数据库设计不合理(对你要求的结果)
所以SQL会不能通用且效率会低,对sqlserver,参考的写法
select 姓名,
SUM (CASE WHEN 月份 = '2018.01' THEN 销售 ELSE 0 END) 2018.01,
SUM (CASE WHEN 月份 = '2018.02' THEN 销售 ELSE 0 END) 2018.02,
SUM (CASE WHEN 月份 = '2018.03' THEN 销售 ELSE 0 END) 2018.03,
SUM (CASE WHEN 月份 = '2018.04' THEN 销售 ELSE 0 END) 2018.04,
SUM (CASE WHEN 月份 = '2018.05' THEN 销售 ELSE 0 END) 2018.05,
SUM (CASE WHEN 月份 = '2018.06' THEN 销售 ELSE 0 END) 2018.06
from 你的表
group by 姓名
(字段名能否用 2018x.0x格式,未测试)
热门标签: