,
我想根据SM_Statistics_Year年份为条件,查询出这样一个效果图
,上面这个图是我拼接的,其中SM_Statistics_TotalPriceP1是2015年根据月份算得的总金额,
SM_Statistics_TotalPriceP2是2014年根据月份算得的总金额。下面这个图是我初步的一点想法,是错的,让你们看一下我的思路
。想了一天了,也没做出来,只好上网问下各位大大,小弟初学sql,还望各位不吝赐教!
select month,
SUM(case when year='2014' then total else 0 end) as '2014',
SUM(case when year='2015' then total else 0 end) as '2015'
from table
group by month
名称自己替换下?
怎么只有一个表,别的表呢
SELECT n.number P1Month,
p1.sm_statistics_totalpricep1,
p2.sm_statistics_totalpricep2
FROM (SELECT number
FROM master..spt_values
WHERE type = 'p'
AND number BETWEEN 1 AND 12
) n
LEFT JOIN (SELECT sm_statics_month,
sum(sm_statistics_totalprice) sm_statistics_totalpricep1
FROM sm_statistics
WHERE sm_statistics_year = 2014
GROUP BY sm_statics_month
) P1
ON n.number = P1.sm_statics_month
LEFT JOIN (SELECT sm_statics_month,
sum(sm_statistics_totalprice) sm_statistics_totalpricep2
FROM sm_statistics
WHERE sm_statistics_year = 2015
GROUP BY sm_statics_month
) P2
ON n.number = P2.sm_statics_month