请教一条sql语句的写法?紧急求援中...

草履虫程序员 2010-06-05 10:07:45
其实我的表有点复杂,也就是业务数据,把表分割成多张了.比如有一张:
tb_info,字段有:
coID,type,recYear,memo
记录是:
001 0 2005
002 1 2005
003 0 2005
004 2 2005
005 2 2005
006 1 2005
007 0 2005
008 1 2005
009 0 2005
010 1 2005
又有另外一张表,tb_task,字段如下:
coID,exchange,recYear
001 13 2005
002 12 2005
003 20 2005
004 11 2005
005 23 2005
006 45 2005
007 38 2005
008 21 2005
009 10 2005
010 33 2005
... .. ...
现在要查询的结果是:
查询出第一张表里tb_info的总共当年比如2005年根据coID不同,总的记录数,还有就是以type不同,分别统计个数,再查询出tb_task里的exchange数量总和,并且与往年的增量,因为这里只是2005,假如2004年或者2003年有业务数据,需要查询出与前一年的增量.比如需要这样的查询结果:
假如2004年在tb_task表里以exchange字段求和为200
总数 类别0 类别1 类别2 总交易数 增值%
10 4 4 2 226 13
补充说明:recYear类型为varchar的,当输入做2005年查询的时候,与往年做比较,自动往后退一年,即2004年.
这样写在一条SQL语句里如何实现?请问各位?
...全文
157 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujinyuan 2010-06-08
  • 打赏
  • 举报
回复
可以用存储过程来写的。。客户端可以接收与发送任何存储过程的数据
草履虫程序员 2010-06-08
  • 打赏
  • 举报
回复
自己顶!!!!!!
草履虫程序员 2010-06-08
  • 打赏
  • 举报
回复
存储过程,写在同一个存储过程里,请问怎么实现?
dawugui 2010-06-07
  • 打赏
  • 举报
回复
最好给出完整的表结构,测试数据,计算方法和正确结果.


发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
草履虫程序员 2010-06-07
  • 打赏
  • 举报
回复
分开我会写,我问题是写在存储过程里,程序里要调用这个存储过程的?不知道能否实现,在存储过程里分开执行?
lcqtgb 2010-06-07
  • 打赏
  • 举报
回复
一条很难。。可以明确告诉你。。分开很容易
草履虫程序员 2010-06-07
  • 打赏
  • 举报
回复
表:tb_info
字段:coID,type,recYear
001 0 2005
002 1 2005
003 0 2005
004 2 2005
005 2 2005
006 1 2005
007 0 2005
008 1 2005
009 0 2005
010 1 2005
另外一张表:tb_task
字段:coID,exchange,recYear
001 13 2005
002 12 2005
003 80 2005
004 11 2005
005 23 2005
006 45 2005
007 38 2005
008 21 2005
009 90 2005
010 33 2005
001 12 2004
002 22 2004
003 30 2004
004 40 2004
005 10 2004
006 29 2004
007 11 2004
008 50 2004
009 11 2004
010 55 2004
在系统里,是分开输入的,但是因为业务需要,分割成两张表.现在要做的是,假如今年是2005年,统计以coID为字段的个数,以类型为0,类型为1,类型为2的个数,再统计今年以2005年的交易数(exchange)为字段求和,在查出2005年的总数与2004年的总数的增加百分比.通过上面给出的表的数据.要查询的结果如下:
在tb_info里查询出coID个数为10,类型为0的个数为3,类型为1的个数为4,类型为2的个数为3,2005年的求exchange的和为366,2004年为270
企业数 类型为0 类型为1 类型为2 当年总产值 与往年的增值
10 3 4 3 366 36%
想通过一条sql语句实现上面的查询,请问怎么做?如果不求"与往年的增值,很简单.但是加了与往年的增值,请高手赐教,如果有不明白的,可以QQ联系,我可以把表结构,和查询的要求具体说明一下.
csmark 2010-06-07
  • 打赏
  • 举报
回复
帮顶
...
eyoeho 2010-06-07
  • 打赏
  • 举报
回复
糊涂了
htl258_Tony 2010-06-06
  • 打赏
  • 举报
回复
看完了描述,头晕了
--小F-- 2010-06-06
  • 打赏
  • 举报
回复
我也没看懂
dawugui 2010-06-06
  • 打赏
  • 举报
回复
我没有看懂,楼下继续.
LHXLZ 2010-06-06
  • 打赏
  • 举报
回复
还是有点不清楚,不过可以写成数据块的方式。
草履虫程序员 2010-06-06
  • 打赏
  • 举报
回复
就是前后两年的数据,做百分比比较,写的这么明确了.
xyj052 2010-06-06
  • 打赏
  • 举报
回复
不懂,能写明白点你的需求不?

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧