[求]SQL语句(想了很久都没想到)
现在有三个表
province表(id,provinceName)
client表(id,clientname,provinceid)
order表(id,clientid,level,price)
其中,level字段只存a,b,c(理解为代号吧)
现在看看能用用一句sql语句,或者用一个存储过程,能得出下面的查询结果.
____________________________________________
| 省份 | 客户数 | oa总额 | ob总额 | oc总额 |
——————————————–
意思就是该省份共有客户数多少人,该省份的oa,ob,oc总额各是多少..
比如:
____________________________________________
| 省份 | 客户数 | oa总额 | ob总额 | oc总额 |
——————————————–
|广东省| 20 | 3000 | 3229 | 339 |
——————————————–
就是广东省有客户数20人,oa总额3000元,ob总额3229元,oc总额339元.
求好心人士帮帮忙..
未测试:
-
SQL code
select provinceName as '省份', count(clientname) as '客户数', sum(if(level='a', 1, 0)) as 'oa总额', sum(if(level='b', 1, 0)) as 'ob总额', sum(if(level='c', 1, 0)) as 'oc总额' from order left join client on order.clientid = client.id left join province on client.privinceid = province.id group by provinceName
http://blog.csdn.net/acmain_chm/article/details/4283943
MySQL交叉表
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx( id int primary key, c1 c...