- 论坛徽章:
- 0
|
表结构是
id xswd xsmc xsje xsje2 xsje3
序号 销售网点 销售产品名称 金额 买单 奖励
1 网点1 A 1 2 5
2 网点2 B 2 6 8
3 网点3 C 4 1 6
4 网点1 B 16 66 66
能不能取数变成这样的交叉报表
A 买单 奖励 B 买单 奖励 C 买单 奖励
网点1 1 2 5 16 66 66 0 0 0
网点2 2 6 8 0 0 0 0 0 0
网点3
网点金额 买单取合计数
我上网查了很多看到一个文章,但运行出错不知道错在那里
SET @EE='';
SELECT @EE:=CONCAT(@EE,'SUM(IF(xsmc=/'',xsmc,'/'',',xsje,0)) AS ',xsmc,',') FROM (SELECT DISTINCT xsmc FROM jjxs) A;
SET @QQ=CONCAT('SELECT ifnull(xswd,/'total/'),',LEFT(@EE,LENGTH(@EE)-1),' ,SUM(xsje) AS TOTAL FROM xsmc GROUP BY xswd WITH ROLLUP');
PREPARE stmt2 FROM @QQ; |
|