| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 918 人关注过本帖
标题:新手道题不会求解
只看楼主 加入收藏
sk28817360
Rank: 2
等 级:论坛游民
帖 子:9
专家分:31
注 册:2012-6-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
新手道题不会求解
有3个表SFB(省份表) XSRYB(销售人员表) HKZB(回款帐薄) SFB里有SFBH(省份编号),SFMC(省份名称)。XSRYB里有SFBH(省份编号)同SFB表中SFBH关联,RYBH(人员编号),YXY(营销员)。HKZB里有RYBH(人员编号)同XSRYB中RYBH关联,HKRQ(回款日期),HKSL(回款数量),HKJE(回款金额)。 统计2007年,2006年度销售回款对比情况(2007年统计期限2007-01-01至2007-12-31,2006年一样)
统计格式如下:省份名称  营销员  07年回款数量 07年回款金额 06年回款数量 06年回款金额总计
要求 每个省份有小计,表尾有总计
搜索更多相关主题的帖子: 统计 营销员 
2012-06-22 09:18
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
这个基本可以用SQL查询来解决,对于不同的数据库,解决方法会有差别。(SQL Server中查查cube用法)

[ 本帖最后由 cnfarer 于 2012-6-22 20:43 编辑 ]

★★★★★为人民服务★★★★★
2012-06-22 20:42
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:0 
2楼说得对!
方法上是可行的,但实现起来,还是比较烦琐的。
我来帮你实现吧!也作为我的一次练习,但我这儿没有数据表,运行结果怎样,希望楼主告知一下。

select isnull(a4.SFMC,'所有省') as SFMC,isnull(a4.YXY,'合计') as YXY, b4.HKSL as HKSL_2007,b4.HKJE as HKJE_2007,c4.HKSL as HKSL_2006,c4.HKJE as HKJE_2006 from
(select distinct a1.SFMC,b1.YXY from SFB a1 inner join XSEYB b1 on a1.SFBH=b1.SFBH) a4 full join
(select a2.SFMC,b2.YXY,sum(c2.HKSL) as HKSL,sum(c2.HKJE) as HKJE
    from SFB a2 inner join XSEYB b2 on a2.SFBH=b2.SFBH inner join HKZB c2 on b2.RYBH=c2.RYBH
    where year(c2.HKRQ)=2007
    group by a2.SFMC,b2.YXY with cube
    having a2.SFMC is not NULL or a2.SFMC is NULL and b2.YXY is NULL) b4 on a4.SFMC=b4.SFMC and a4.YXY=b4.YXY full join
(select a3.SFMC,b3.YXY,sum(c3.HKSL) as HKSL,sum(c3.HKJE) as HKJE
    from SFB a3 inner join XSEYB b3 on a3.SFBH=b3.SFBH inner join HKZB c3 on b3.RYBH=c3.RYBH
    where year(c3.HKRQ)=2006
    group by a3.SFMC,b3.YXY with cube
    having a3.SFMC is not NULL or a3.SFMC is NULL and b3.YXY is NULL) c4 on a4.SFMC=c4.SFMC and a4.YXY=c4.YXY

(没有数据表做调试,也许有地方会写错,请楼主调试。)
(这段代码的效率如何?还请高手们指点!)



[ 本帖最后由 netlin 于 2012-6-28 17:00 编辑 ]

做自己喜欢的事!
2012-06-24 12:03
sk28817360
Rank: 2
等 级:论坛游民
帖 子:9
专家分:31
注 册:2012-6-22
收藏
得分:0 
回楼上上 我用的是SQL SERVER2008
回楼上 下面是错误代码
消息 174,级别 15,状态 1,第 1 行
isnull 函数要求有 2 个参数。
下面3个错误基本都是 无法绑定由多个部分组成的标示符
消息 102,级别 15,状态 1,第 2 行
'a4' 附近有语法错误。
消息 102,级别 15,状态 1,第 7 行
'b4' 附近有语法错误。
消息 102,级别 15,状态 1,第 12 行
'c4' 附近有语法错误。


[ 本帖最后由 sk28817360 于 2012-6-25 10:17 编辑 ]
2012-06-25 09:40
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:10 
自己检查下,不行?isnull那个地方,很明显多了一个")"...

★★★★★为人民服务★★★★★
2012-06-25 10:09
sk28817360
Rank: 2
等 级:论坛游民
帖 子:9
专家分:31
注 册:2012-6-22
收藏
得分:0 
SFMC    YXY    HKSL_2007    HKJE_2007    HKSL_2006    HKJE_2006
所有省    合计    170    750.00    NULL    NULL
所有省    合计    20    20.00    NULL    NULL
北京    方式    20    20.00    NULL    NULL
北京    阴人    NULL    NULL    50    140.00
所有省    合计    60    130.00    NULL    NULL
黑龙江    李四    50    120.00    NULL    NULL
黑龙江    王后    10    10.00    NULL    NULL
黑龙江    张飞    NULL    NULL    100    300.00
所有省    合计    30    40.00    NULL    NULL
吉林    李斯    30    40.00    10    20.00
吉林    赵二    NULL    NULL    20    100.00
所有省    合计    30    500.00    NULL    NULL
辽宁    王五    30    500.00    NULL    NULL
所有省    合计    30    60.00    NULL    NULL
山西    哈哈    10    50.00    NULL    NULL
山西    黄砖    NULL    NULL    100    100.00
山西    文字    20    10.00    NULL    NULL
所有省    合计    NULL    NULL    30    120.00
所有省    合计    NULL    NULL    100    300.00
所有省    合计    NULL    NULL    100    100.00
所有省    合计    NULL    NULL    50    140.00
所有省    合计    NULL    NULL    280    660.00
以上是结果
2012-06-25 10:23
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:10 
楼主,你这个结果与我预计的不一样,你能把测试的三个数据表的数据贴出来吗?

做自己喜欢的事!
2012-06-25 22:56
sk28817360
Rank: 2
等 级:论坛游民
帖 子:9
专家分:31
注 册:2012-6-22
收藏
得分:0 
已经写好了  谢谢楼上各位的帮助
2012-06-26 14:37
jhdycw
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-26
收藏
得分:0 
数据库很想学,不知从那着手
2012-06-26 16:04
xj2008
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-7-2
收藏
得分:0 
看到下面这些问题,可能你会觉得很多好笑。但这却是对程序员来说是种悲哀,是一种职业病。如果你是程序员就会理解下面这些诡异的小习惯是怎么养成的,不过要早点改掉。
0. 程序员用肯定和否定 回答选择性的问题.
例: 问 “您想喝咖啡还是喝茶?” 程序员答: “嗯.”
因: 当条件或||有一个子句值为真, 则整个语句值为真.
评: 这个习惯夸张了一点, 但这的确是程序员思 维方式的通病, 用计算机的处理逻辑处理人类问题. 当然这样的回答显然是存在编程错误的, 因为对于这个问题他错误的返回了布尔型的值. 虽然高度怀疑有没有人关心这种回答的结果是怎样, 还是给出一个答案. 如果真的在程序的世界里, 服务员会优先考虑给你咖啡, 如果没有咖啡了, 才会端茶给你.
1. 程序员数数会从0开始数起.
例: 程序员吵 架的时候会说: “我数三下, 你再不闭嘴我就不客气了! 零! 一! 二!” 或者列清单的时候编号会从0.开始写.
因: array[0]是数组的第一个元素.
评: 这个习惯的养成是一个艰难的过程. 多少次的越界, 多少次的循环次数错误让我们深深的记住了从0开始.

2. 程序员普遍患有或曾经患有分号结尾综合症;
例: 比如这几行;
因: 大部分程序, 特别是多数程序员的启蒙编程语言C语言是用分号结尾语句的;
评: 换行之前习惯用分号结尾, 这是程序员专 属的坏习惯. 还记得编译报的各种诡异的错最后原因总是少了那一个小小的”;”吗? 这就是这个坏习惯的成因. 据说分号结尾是有典故的, 因为键盘上的分号正好在右手小拇指的位置, 比起句号之类有着得天独厚的地理优势. 当然也有不需要分号结尾的编程语言(比如Ruby还有Python), 刚用起来会因为没有分号结尾而格外纠结.
3. 程序员格外格外的厌恶括号/引号不配对的情形.
例: 看到这样的内容 (举个简单的例子(我知道你懂的), 你能表示”我很淡定我不抓狂吗?
因: 各种不配对问题会导致编译错误.
评: 扫视代码, 对不配对的情况异常敏感, 瞥一眼就能发现哪里少了个右括号. 这种症状在使用那些带自动补全功能的开发环境时变得更为纠结.
4. 程序员对”语言”的概念和普通人有差.
例: 问: “你都会哪些语言?” 普通人: “我会汉语和英语, 还会一点点法语.” 程序员: “我最喜欢的是PHP 还会C语言, C++ 和 Java, 懂一点Ruby.”
因: 程序员的世界里没有母语和外语, 只有编程语言.
评: 说真的, 程序语言的语法学起来比外语更容易, 拿到一个用没学过的语言写的程序, 你多少可以看懂部分程序. 程序语言没有国界, 是各国程序员交流最好的桥梁.
5. 程序员认为 千(k) == 1024.
例: 程序员换算表: 1km == 1024m, 1kg == 1024g.
因: 成因很曲折 计算机是二进制的世界 -> 1024是2的10次方 -> 英语里用kilo一词来表示 -> kilo翻译成中文是”千”, 比如千米, 千克.
评: 也许一般人会认为500, 1000是很整的数, 但程序员会觉得512, 1024是很整的数. 不要奇怪, 如果128, 256, 512这种形式看着不够整, 帮你转换成二进制: 10000000, 100000000, 1000000000…
6. 程序员惯用 == 来表示相等的意思.
例: 见5.
因: 在程序语言中, “=” 是赋值, “==” 才用来判断二者是否相等.
评: 单等和双等的区别是程序入门必修课, 也是老师爱考的考点. 如果在C语言if语句的判定条件里写了个单等, 编译能通过, 结果却往往不对, 够一个新手查上一阵子的. 当然目前的语言大都考虑到这一点, 防止了这类的误写, 但是单等和双等的差异已经深入每个程序员的 内心.
7. 程序员有 中文标点恐惧症.
例: 如果你注意到了, 这篇文章自始至终都在使用英文标点, 这就是最好的例子.
因: 程序中的全部符号都严格需要是英文半角标点.
评: 这个坏习惯是有中国特色的, 中国程序员特 有的. 任何一名优秀的我国程序员都应该可以作到区别中文标点和英文标点. 比如, 和,还有 ’和 ‘. 真的, 当年初学编程的时候, 诸如 “error 13911287025C: unknown character ’0xa3′” 的错误看得还不够多吗!
8. 程序员使用”//”表示”请无视这一行文字”.
例: 餐厅中. 程序员A: “我吃鱼香肉丝盖饭, 你吃什么?”
程序员B: “宫保鸡丁盖饭.”
程序员A 在点菜单写上:
鱼香肉丝盖饭 1
宫保鸡丁盖饭 1
程序员B: “我还是要牛肉面吧!”
程序员A 更正点菜单:
鱼香肉丝盖饭 1
// 宫保鸡丁盖饭 1
牛肉面 1
因: 程序中用”//”为代码加上注释, 程序运行时会无视掉”//”开头的代码行.
评: 如果和一伙程序员在一起时被冷落了, 可以抱怨一句”喂喂喂我是被注释掉了吗?” 相信一向以幽默感丰富又有爱心著称的程序员们会关注你的.

本文摘自: 编程十万个为什么(http://www.) 详细出处请参考:http://www.
2012-07-02 20:38
快速回复:新手道题不会求解
数据加载中...
 
   



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

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