首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 三个表分组统计的问题(在线等。100分。急急急急) [已结贴,结贴人:angeldjd]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • angeldjd
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-19 15:03:09 楼主
    现在有三个表,表1里有一个字段实际金额,表二里有个字段出货金额,表三里有个字段支出总金额。
    实际金额-出货金额-支出总金额=月份利润。
    这三个表里还有一个共同字段是产地。现要求按产地算出月份利润,应该如何做?
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangkun9999
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:08:131楼 得分:0
    贴出详细的表结构先
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangkun9999
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:13:502楼 得分:20
    SQL code
    select sum(a.实际金额-b.出货金额-c.支出总金额) as 月份利润,c.产地 from 表一 a inner join 表二 b on a.id=b.id inner join 表三 c on a.id=c.id group by c.产地
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangkun9999
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:15:353楼 得分:20
    SQL code
    select sum(c.实际金额-b.出货金额-a.支出总金额) as 月份利润,c.产地 from 表一 a inner join 表二 b on a.id=b.id inner join 表三 c on a.id=c.id group by c.产地
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • panw520
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:17:524楼 得分:0
    引用 3 楼 wangkun9999 的回复:
    SQL codeselectsum(c.实际金额-b.出货金额-a.支出总金额)as月份利润,c.产地from表一 ainnerjoin表二 bona.id=b.idinnerjoin表三 cona.id=c.idgroupbyc.产地
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • angeldjd
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:19:065楼 得分:0
    用不着别的字段参与吧。。

    表1:ID,时间,实际金额,产地
    表2:ID,时间,出货金额,产地
    表3:ID,时间,支出总金额,产地

    要按时间,和产地算出月份利润
    月份利润=实际金额-出货金额-支出总金额
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MisterDotNet
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:21:076楼 得分:0
    引用 3 楼 wangkun9999 的回复:
    SQL code

    select sum(c.实际金额-b.出货金额-a.支出总金额) as 月份利润,c.产地 from 表一 a inner join 表二 b on a.id=b.id inner join 表三 c on a.id=c.id group by c.产地
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:22:517楼 得分:0
    按产地算出月份利润
    -----------
    是按产地算出每个月的利润吗?

    你最好把你的表结构简单写一下..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • angeldjd
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:25:528楼 得分:0
    是的,是按产地算出每个月的利润。
    表1:ID,时间,实际金额,产地
    表2:ID,时间,出货金额,产地
    表3:ID,时间,支出总金额,产地
    这个就是表的简单结构,其它字段用不上,比如表1里有,单价,数量,单价×数量得出实际金额。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:28:429楼 得分:20
    SQL code
    select sum(t1.实际金额-t2.出货金额-t3.支出总金额) as 利润,t1.产地,datepart(mm,t1.时间) from t1,t2,t3 where t1.id = t2.id and t1.id = t3.id group by t1.产地,datepart(mm,t1.时间)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:30:3810楼 得分:0
    我不知道你的时间字段里存的什么内容.如果存的是日期类型的数据,那就看我9楼发的语句就可以.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangkun9999
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:31:0011楼 得分:0
    你这个时间的格式是什么,是代表一个月还是一天,还是到时分秒?
    如果是代表月分,按我上面的那条语名就可以了;如果不是得到group by 后面加个条件.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • angeldjd
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:56:0912楼 得分:0
    那如果 t1.id = t2.id and t1.id = t3.id
    这三个ID没有什么必在的联系呢?这个ID对应不上呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 15:57:3913楼 得分:0
    引用 12 楼 angeldjd 的回复:
    那如果 t1.id = t2.id and t1.id = t3.id
    这三个ID没有什么必在的联系呢?这个ID对应不上呢?


    对不上你怎么关联?

    对不上的话.只能按照产地和时间进行关联.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 16:05:1614楼 得分:40
    难道你要这样?
    SQL code
    select (tt1.实际金额-tt2.出货金额-tt3.支出总金额) as 利润,tt1.产地,tt1.月 from ( select sum(实际金额) as 实际金额,产地,datepart(mm,时间) asfrom t1 group by 产地,datepart(mm,时间) ) tt1, ( select sum(出货金额) as 出货金额,产地,datepart(mm,时间) asfrom t2 group by 产地,datepart(mm,时间) ) tt2, ( select sum(支出总金额) as 支出总金额,产地,datepart(mm,时间) asfrom t3 group by 产地,datepart(mm,时间) ) tt3 where tt1.产地=tt2.产地 and tt1.月=tt2.月 and tt1.产地=tt3.产地 and tt1.月=tt3.月
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuyang840117
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 16:16:1215楼 得分:0
    引用 12 楼 angeldjd 的回复:
    那如果 t1.id = t2.id and t1.id = t3.id
    这三个ID没有什么必在的联系呢?这个ID对应不上呢?


    通过时间 产地联
    你们好像都没有理解楼主的意思
    我认为楼主是这样的  表1  ID,时间,实际金额,产地
                              1  1    123    12
                          2  1      12    23
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuyang840117
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 16:24:3416楼 得分:0
    引用 14 楼 lovehongyun 的回复:
    难道你要这样?

    SQL code
    select (tt1.实际金额-tt2.出货金额-tt3.支出总金额) as 利润,tt1.产地,tt1.月
    from
    (
    select sum(实际金额) as 实际金额,产地,datepart(mm,时间) as 月
    from t1
    group by 产地,datepart(mm,时间)
    ) tt1,
    (
    select sum(出货金额) as 出货金额,产地,datepart(mm,时间) as 月
    from t2
    group by 产地,datepart(mm,时间)
    ) tt2,
    (
    select sum(支出总金额) as 支出总金额,产地,datepart(mm,…


    个人认为楼主要的就是这样的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 16:42:1117楼 得分:0
    汗,那看来我还是猜到了lz的意图..哈哈~
    -_-!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved