MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 2507|回复: 3
打印 上一主题 下一主题

[SQL类] mysql交叉报表

[复制链接]
跳转到指定楼层
1#
发表于 2013-9-22 23:02:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表结构是
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;               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2013-9-23 09:53:19 | 只看该作者
有点混乱
表2中的商品名不需要对应?
表2中的网点3商品C没有数据?
没法弄...
3#
发表于 2013-9-25 21:35:12 | 只看该作者
select xswd,
sum(case when xsmc='A' then xsje else 0 end),
sum(case when xsmc='A' then xsje2 else 0 end),
sum(case when xsmc='A' then xsje3 else 0 end),
sum(case when xsmc='B' then xsje else 0 end),
sum(case when xsmc='B' then xsje2 else 0 end),
sum(case when xsmc='B' then xsje3 else 0 end),
sum(case when xsmc='C' then xsje else 0 end),
sum(case when xsmc='C' then xsje2 else 0 end),
sum(case when xsmc='C' then xsje3 else 0 end)
from shop_sales
group by xswd;

按照上面的语句运行就可以了
4#
 楼主| 发表于 2013-12-3 20:39:21 | 只看该作者
在水一方 发表于 2013-9-25 21:35
select xswd,
sum(case when xsmc='A' then xsje else 0 end),
sum(case when xsmc='A' then xsje2 else  ...

A B C能动态执行吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-6-5 16:26 , Processed in 0.066731 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表