三张数据表如何做数据对比?

zrz_trade 2017-03-20 03:54:24
我按月份做了三份数据视图,视图1,视图2,视图3,字段完全一样,我想将三份视图连在一起做月销售量的对比,比如视图1中的A企业销售量为100,视图2中的A企业销售量为200,视图3中的C企业销售量为300,求视图2同视图1的增长量,视图3同视图2的增长量。有什么方法能解决?或给点思路。望大侠们指点。谢谢!
...全文
1804 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2017-03-22
  • 打赏
  • 举报
回复
在数据窗口里通过SQL可以实现,如果不行,就用三个数据窗口把数据查出来,然后通过代码查找对应的数值,把差值写入到别一个数据窗口或者表。
zrz_trade 2017-03-21
  • 打赏
  • 举报
回复
好的,我试试。谢谢!
TheLittlePrince 2017-03-21
  • 打赏
  • 举报
回复
还有个业务的问题,你2月份的C是没有销售的,不应该算是100%的负增长吗.然后3月份是正增长,不应该简单的归0吧
TheLittlePrince 2017-03-21
  • 打赏
  • 举报
回复
CREATE TABLE T1(CODE VARCHAR(10),QUANTITY INTEGER); CREATE TABLE T2(CODE VARCHAR(10),QUANTITY INTEGER); CREATE TABLE T3(CODE VARCHAR(10),QUANTITY INTEGER); INSERT INTO T1(CODE,QUANTITY) VALUES('A',1000); INSERT INTO T1(CODE,QUANTITY) VALUES('B',2000); INSERT INTO T1(CODE,QUANTITY) VALUES('C',3000); INSERT INTO T2(CODE,QUANTITY) VALUES('A',500); INSERT INTO T2(CODE,QUANTITY) VALUES('B',4000); INSERT INTO T3(CODE,QUANTITY) VALUES('A',2000); INSERT INTO T3(CODE,QUANTITY) VALUES('C',3000); SELECT COALESCE(A.CODE,B.CODE,C.CODE,'') AS CODE, COALESCE((B.QUANTITY - A.QUANTITY)*1.00/A.QUANTITY,0) AS ADD1, COALESCE((C.QUANTITY - B.QUANTITY)*1.00/B.QUANTITY,0) AS ADD2 FROM T1 A FULL JOIN T2 B ON A.CODE = B.CODE FULL JOIN T3 C ON A.CODE = C.CODE ORDER BY COALESCE(A.CODE,B.CODE,C.CODE,''); 这个是db2的语句,可以参考一下.不过这种问题,数据量大了以后要一组语句实现的话,函数套函数,还得计算,还得全连接,会挠墙的.
zrz_trade 2017-03-21
  • 打赏
  • 举报
回复
就是这样有三个月的报表,我就想生成一张对比表。但在SQL里我不知道怎样做。各位能指点一下吗?谢谢!
zrz_trade 2017-03-21
  • 打赏
  • 举报
回复
xiaozhe_song 2017-03-20
  • 打赏
  • 举报
回复
这样的表单视图估计只能用子查询实现了,或者更改视图数据组织逻辑~

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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