标题:求一句SQL语句解决问题
只看楼主
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
结帖率:87.5%
已结贴  问题点数:10 回复次数:38 
求一句SQL语句解决问题
A表 客户信息表 有:客户编码,客户名称
B表 发出商品表 有:客户编码,发出金额,日期
C表 开票信息表 有:客户编码,开票金额,日期
D表 回款信息表 有:客户编码,回款金额,日期

求一句生成xxxx年xx月汇总表  客户编码,客户名称,发出金额汇总,开票金额汇总,回款金额汇总  
请各位同仁多多指教。谢谢!
搜索更多相关主题的帖子: 汇总表 同仁 
2016-12-05 18:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
放上数据来

坚守VFP最后的阵地
2016-12-05 22:36
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:5 
数据表呢
2016-12-05 23:11
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
A表 客户信息表
   客户编码   客户名称
     0001      AA公司
     0002      BB公司
     0003      CC公司

B表 发出商品表
   日期    客户编码   发出金额
2016-1-1    0002     1000.00
2016-1-10   0003      800.00
2016-3-5    0001      700.00
2016-3-10   0001      500.00
2016-3-20   0003     2000.00
... ...
2016-11-10  0001      600.00
2016-11-11  0003      500.00

C表 开票信息表
  日期    客户编码   开票金额
2016-1-10   0002     1000.00
2016-1-13   0003      800.00
2016-3-9    0001      700.00
2016-3-16   0001      500.00
2016-3-22   0003     2000.00
... ...
2016-11-10  0001      600.00
2016-11-11  0003      500.00
D表 回款信息表
   日期    客户编码   回款金额
2016-1-6    0002      900.00
2016-1-10   0003      400.00
2016-3-8    0001      600.00
2016-3-15   0001      500.00
2016-3-27   0003     1000.00
... ...
2016-11-15  0001      700.00
2016-11-20  0003      600.00

我想要一句SQL语句查出到11月末止,当月发出、开票、回款数和本年累计发出、开票、回款数
即生成 客户编码,客户名称,本月发出,本月开票、本月回款,累计发出,累计开票,累计回款 表
         0001      AA公司
         0002      BB公司
         0003      CC公司

请各位同仁指教,谢谢!
2016-12-06 07:00
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
咳,怎么不传张dbf表呢?excel也行
2016-12-06 07:32
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
dbf.rar (21.17 KB)
这是DBF数据,谢谢指教!
2016-12-06 09:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
不会写一句就解决问题,写了好多句。

CREATE CURSOR 统计表 (编码 C(12),名称 C(50),本月发出 Y,本月开票 Y,本月回款 Y,累计发出 Y,累计开票 Y,累计回款 Y)
APPEND FROM khbm
INDEX on 编码 TAG 编码

USE fcsp ALIAS fcsp IN 0
SELECT fcsp
SET RELATION TO khbm INTO 统计表
LOCATE FOR !FOUND("统计表")
IF FOUND()
    BROWSE FOR !FOUND("统计表") TITLE "fcsp表这些记录的khbm在khbm表没有编码记录,这些数据将被忽略。"
ENDIF
REPLACE 统计表.本月发出 WITH 统计表.本月发出 + IIF(!ISNULL(fcsp.金额) AND YEAR(fcsp.日期)==2016 AND MONTH(fcsp.日期)==11,fcsp.金额,0),;
        统计表.累计发出 WITH 统计表.累计发出 + IIF(!ISNULL(fcsp.金额),fcsp.金额,0) ALL
SET RELATION TO
USE IN fcsp

USE kpxx ALIAS kpxx IN 0
SELECT kpxx
SET RELATION TO khbm INTO 统计表
LOCATE FOR !FOUND("统计表")
IF FOUND()
    BROWSE FOR !FOUND("统计表") TITLE "kpxx表这些记录的khbm在khbm表没有编码记录,这些数据将被忽略。"
ENDIF
REPLACE 统计表.本月开票 WITH 统计表.本月开票 + IIF(!ISNULL(kpxx.金额) AND YEAR(kpxx.开票日期)==2016 AND MONTH(kpxx.开票日期)==11,kpxx.金额,0),;
        统计表.累计开票 WITH 统计表.累计开票 + IIF(!ISNULL(kpxx.金额),kpxx.金额,0) ALL
SET RELATION TO
USE IN kpxx

USE hkxx ALIAS hkxx IN 0
SELECT hkxx
SET RELATION TO khbm INTO 统计表
LOCATE FOR !FOUND("统计表")
IF FOUND()
    BROWSE FOR !FOUND("统计表") TITLE "hkxx表这些记录的khbm在khbm表没有编码记录,这些数据将被忽略。"
ENDIF
REPLACE 统计表.本月回款 WITH 统计表.本月回款 + IIF(!ISNULL(hkxx.回款金额) AND YEAR(hkxx.日期)==2016 AND MONTH(hkxx.日期)==11,hkxx.回款金额,0),;
        统计表.累计回款 WITH 统计表.累计回款 + IIF(!ISNULL(hkxx.回款金额),hkxx.回款金额,0) ALL
SET RELATION TO
USE IN hkxx

SELECT 统计表
GO TOP
BROWSE
CLOSE DATABASES ALL

2016-12-06 11:00
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
谢谢7楼的朋友指点,我也是做了分块汇总,但是我觉得应该用一句也可以完成,但是我不写,请朋友们指教!
2016-12-06 11:35
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
得分:0 
高手,求一条命令解决问题。

有时候速度不一定比分块快呀。
2016-12-06 11:48
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
学习编程的目的是解决工作中的实际问题,追求的是代码与工作效率,而不是什么问题都能用一句代码解决,如果所有问题都能用一句代码解决,那就不要学习编程了。即使能用一句代码写出来,代码的长度不比吹板的代码短,效率不如吹版的代码效率高。奉劝楼主不要一条道走到黑,实际一点吧。

坚守VFP最后的阵地
2016-12-06 15:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472007-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.246704 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved