VimIy微民网,让世界倾听微民的声音! 设为首页 | 加入收藏 | 网站地图
当前位置:主页 > 微博精选 >

[什么事情都来水区问]有没有懂SQL的高手!问个问题

时间:2012-11-05 20:58 来源:www.vimiy.com 作者:编辑 点击:

订单编号 订货数量 发货数量 发货时间
     001 10 6 TIME1
     001 10 4 TIME2
     002 8 8 TMIE3
     现在要做个报表 前两个订货数量是重复的 汇总的话 订货数量就会重复 订单编号和订货数量都是一一对应的 就是说一个订单只有一个订货数量 但却可能有很多发货数量和事件
    
     有没有什么语句能把 订货数量 多余的去掉??
    附件的截图里 把我的意思表达出来了truncate table *你这表怎么弄的?
    订单编号怎么会一样?
    如果确实要一样
    你在每个表前面加一个列,弄一个唯一编号不就行了么?比如流水号什么的唯一编码
    每个表不是都应该有一个唯一的列么?叫什么列来着忘了索引之类的?1楼你。。
    
    好像理解错了
    不过你直接把发货数量汇总了变成一行不久行了~
    还是这样~
    select sum(发货数量) group by 订单编号
    好像是这样吧,sql快忘完了。。怎么会有相同的编号的楼主!!!!!group by 订单号
    
    你这表怎么弄的?
    订单编号怎么会一样?
    如果确实要一样
    你在每个表前面加一个列,弄一个唯一编号不就行了么?比如流水号什么的唯一编码
    每个表不是都应该有一个唯一的列么?叫什么列来着忘了索引之类的?
    
    这个表示 拼出来的 。。其实订单是一张表 发货数量和出库事件又是一张表
    
     因为我们要查看每次发货的时间和数量 然后又要知道原订单的编号和订货数量 当然会重复 ,因为 有可能分批次或者分仓库发货
    
    怎么会有相同的编号的楼主!!!!!
    
    一次订单可以多次发货啊
    
    复合主键
    
    怎么会有相同的编号的楼主!!!!!
    
    因为一张订单可能会分多次发货 要根据每次发货的情况来记录 订单编号肯定会重复啊
    
    truncate table *
    
    drop database *
    
    1楼你。。
    
    好像理解错了
    不过你直接把发货数量汇总了变成一行不久行了~
    还是这样~
    select sum(发货数量) group by 订单编号
    好像是这样吧,sql快忘完了。。
    你是把发货数量聚合了?
     - - 不能这样啊 - -就是想看每次发货的情况 你把聚合了 发货时间肯定会出问题distinct 就好了呀。。 Post by 烈日foxy (2012-11-03 12:36)
    
    试过 取消重复不行啊。 订货数量数字一样不等于就相同
    
    这个表示 拼出来的 。。其实订单是一张表 发货数量和出库事件又是一张表
    
     因为我们要查看每次发货的时间和数量 然后又要知道原订单的编号和订货数量 当然会重复 ,因为 有可能分批次或者分仓库发货
    
    楼主你这个太简单了吧
    对比订单编号,订单编号应该是唯一的,凡是订单编号是一样的,只算一个订货数量不就行了?这点不用动数据库,只需要在程序代码中加一句就行了
    另外你也可以在读取时生成新的表格“有没有什么语句能把 订货数量 多余的去掉??”
    
    发货数量做累加?select 订单编号,发货时间,max(订货数量),sum(发货数量) from tab group by 订单编号,发货时间看了半天不太清楚你要什么?是要下面这种吗?
    001 10 6 time1
         4 time2
    002 8 8 time3
    这样?select 订单编号, 订货数量, sum(发货数量) from table group by 订单编号, 订货数量;
    或者
    select 订单编号, max(订货数量), sum(发货数量) from table group by 订单编号;
    
    “有没有什么语句能把 订货数量 多余的去掉??”
    
    发货数量做累加?
    
    那发货时间就不行了 Post by LoveMewMew (2012-11-03 12:48)
    
    对 是这样

关于网站 | 网站声明 | 用户反馈 | 合作伙伴 | 联系我们
Copyright © 2012年2月8日