标题:请教老师们一个问题,查询实现多个分组 谢谢
只看楼主
baochenbc
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2015-1-9
结帖率:61.54%
已结贴  问题点数:30 回复次数:18 
请教老师们一个问题,查询实现多个分组 谢谢
_1771590.rar (609 Bytes)
样表
请教老师们一个问题,查新实现多个分组 谢谢
表1
重点企业    单位名称    行业    13年收入    14年收入    14年支出    13年支出
0            a            制药      10        12            9         9
0            b            食品      11        13            8         7
1            c            工业      13        19            6         4
0            d            工业      18        21            11        10
1            e            房地产    70        69            30        40

查询结果在DBF中 实现多个分组
结果如表2 DBF格式
           数量    13年收入    14年收入    14年支出    13年支出
全部企业    5        122        134           64            70
重点企业    2        83         88            36            44
工业企业    2        31         40            17            14
工业重点    1        13         19            6              4   

或者

   
数量    13年收入    14年收入    14年支出    13年支出
    5        122        134           64            70
   2         83         88            36            44
   2         31         40            17            14
    1        13         19            6              4              

[ 本帖最后由 baochenbc 于 2015-1-15 07:15 编辑 ]
搜索更多相关主题的帖子: 房地产 工业 食品 行业 
2015-01-15 00:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
想法:
1、清空表2
2、遍历表1
    scan
       go 1 in "表2"
       replace 表2.数量 with 表2.数量 + 1, 表2.13年收入 with 表2.13年收入 + 表1.13年收入...... in "表2"
       if 表1.重点企业 == "1"
            go 2 in "表2"
        replace 表2.数量 with 表2.数量 + 1, 表2.13年收入 with 表2.13年收入 + 表1.13年收入...... in "表2"
       endif
       if 表1.行业 == "工业"
            go 3 in "表2"
        replace 表2.数量 with 表2.数量 + 1, 表2.13年收入 with 表2.13年收入 + 表1.13年收入...... in "表2"
       endif
       if 表1.重点企业 == "1" and 表1.行业 == "工业"
            go 4 in "表2"
        replace 表2.数量 with 表2.数量 + 1, 表2.13年收入 with 表2.13年收入 + 表1.13年收入...... in "表2"
       endif
    endscan
2015-01-15 08:00
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
得分:11 
SELECT 1 序号,'全部企业' 项目,COUNT(*) 数量,SUM(q年收入) q年收入,SUM(j年收入) j年收入,SUM(q年支出) q年支出,SUM(j年支出) j年支出 FROM _1771590 ;
UNION ;
SELECT 2 序号,'重点企业' 项目,COUNT(*) 数量,SUM(q年收入) q年收入,SUM(j年收入) j年收入,SUM(q年支出) q年支出,SUM(j年支出) j年支出 FROM _1771590 WHERE 重点企业=1;
UNION ;
SELECT 3 序号,'工业企业' 项目,COUNT(*) 数量,SUM(q年收入) q年收入,SUM(j年收入) j年收入,SUM(q年支出) q年支出,SUM(j年支出) j年支出 FROM _1771590 WHERE 行业='工业 ';
UNION ;
SELECT 4 序号,'工业重点' 项目,COUNT(*) 数量,SUM(q年收入) q年收入,SUM(j年收入) j年收入,SUM(q年支出) q年支出,SUM(j年支出) j年支出 FROM _1771590 WHERE 行业='工业 ' AND 重点企业=1

2015-01-15 08:34
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:14 
SELECT coun(*) 数量,SUM(Q年收入) Q年收入,SUM(J年收入) J年收入,SUM(Q年支出) Q年支出,SUM(J年支出) J年支出 FROM _1771590 ;
union SELECT coun(*) 数量,SUM(Q年收入) Q年收入,SUM(J年收入) J年收入,SUM(Q年支出) Q年支出,SUM(J年支出) J年支出 FROM _1771590 where 重点企业=1 ;
union SELECT coun(*) 数量,SUM(Q年收入) Q年收入,SUM(J年收入) J年收入,SUM(Q年支出) Q年支出,SUM(J年支出) J年支出 FROM _1771590 where 行业="工业" ;
union SELECT coun(*) 数量,SUM(Q年收入) Q年收入,SUM(J年收入) J年收入,SUM(Q年支出) Q年支出,SUM(J年支出) J年支出 FROM _1771590 where 重点企业=1 AND 行业="工业"  ORDER BY 数量 desc
2015-01-15 08:51
baochenbc
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2015-1-9
得分:0 
回复 2楼 吹水佬
谢谢你 还是用selecet 语句简单点,谢谢您的回复了
2015-01-15 11:07
baochenbc
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2015-1-9
得分:0 
回复 3楼 kiff
回复,谢谢您
2015-01-15 11:07
baochenbc
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2015-1-9
得分:0 
回复 4楼 tlliqi
谢谢您了 这两次您帮我很大忙。请问 selecet union 在表设计器中怎么操作加入 还是只有在命令中使用。
2015-01-15 11:09
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用baochenbc在2015-1-15 11:09:19的发言:

谢谢您了 这两次您帮我很大忙。请问 selecet union 在表设计器中怎么操作加入 还是只有在命令中使用。
表单中的command按钮中
2015-01-15 12:03
baochenbc
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2015-1-9
得分:0 
回复 4楼 tlliqi
还有个问题 我写的select +union连接 有 20行  在复制到 prg里 运行时显示 行太长 怎么办
2015-01-16 14:33
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用baochenbc在2015-1-16 14:33:37的发言:

还有个问题 我写的select +union连接 有 20行  在复制到 prg里 运行时显示 行太长 怎么办
可以用分段运行:
比如:sqlcmd='select a,b,c,d'
     sqlcmd=sqlcmd+' from e where <条件>'
这样应该可以,你试试
2015-01-16 14:42



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




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

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