[求]SQL话语(想了很久都没想到)

  • 内容
  • 评论
  • 相关

[求]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...

欢迎大家阅读《SQL话语(想了很久都没想到)》,跪求各位点评,by 搞代码

原创文章,转载请注明: 转载自搞代码

本文链接地址: [求]SQL话语(想了很久都没想到)

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注