比如表t1:
日期 金额 类型
2011-8-1 20 销售
2011-8-1 5 退货
2011-8-2 30 销售
2011-8-2 10 销售
2011-8-2 10 退货我想得到这样的结果,按日期合计:
日期 销售金额 退货金额
2011-8-1 20 5
2011-8-2 40 10请问应该怎么写呢?
日期 金额 类型
2011-8-1 20 销售
2011-8-1 5 退货
2011-8-2 30 销售
2011-8-2 10 销售
2011-8-2 10 退货我想得到这样的结果,按日期合计:
日期 销售金额 退货金额
2011-8-1 20 5
2011-8-2 40 10请问应该怎么写呢?
,SUM(CASE WHEN 类型='退货' THEN 金额 ELSE 0 END) AS 退货金额
FROM TB
GROUP BY 日期
,SUM(CASE WHEN 类型='销售' THEN 金额 ELSE 0 END) AS 销售金额
,SUM(CASE WHEN 类型='退货' THEN 金额 ELSE 0 END) AS 退货金额
FROM TB
GROUP BY 日期
select 日期,类型,sum(金额)je from t1 group by 日期,类型
)select a.日期,a.je 销售金额,b.je 退货金额
from cte a full join cte b on a.日期=b.日期 and a.类型='销售' and b.类型='退货'
sum(case 类型 when '销售' then 金额 else 0 end) 销售金额,
sum(case 类型 when '退货' then 金额 else 0 end) 退货金额
from t1
group by 日期