三张表:货品表-A,生产厂商表-B,货品销售表-C
关联关系:货品表为基础表,用ID字段(货品标识)关联生产厂商表里的货品ID、货品销售表里的货品ID。换句话说。。三个表都用ID这个字段关联。
生产厂商表里有一个COMID(厂商ID)COMNAME(厂商名)
SQL要查询出的东西:统计所有销售表里(表C)销量排在前50位的厂家的总销量,及这个厂家的品种的各个销量且规定日期2004.1.1-----2004.12.31日。也就是一年的。
更简单的一句就是:统计这个商家一年里销售排前50位的厂家。
解决的完美的给1000分。我现在有5000多分。放不出去。

解决方案 »

  1.   

    select top 50 * from (
    select b.comid,sum(c.销量) as sl from a,b,c
    where a.comid=b.comid and a.货品id=c.货品id
    and c.时间 between '2004-1-1' and '2004-12-31') a
      

  2.   

    A表:货品基础表。我取出里边的货品ID,品名,产地,怎么按产地排序汇总啊?? select * from 
    (select goodsid,goodsname,goodstype,goodsunit,prodarea from pub_goods) a;prodarea是产地。我想把产地都是一样的品种,比如产地=上海先锋的所有药品排序,汇总。
      

  3.   

    select top 50 b.厂家,sum(销售数量)
    from a,b,c
    where a.商品编号=c.商品编号 and
          a.厂家=b.厂家
    group by b.厂家
    order by  sum(销售数量)
      

  4.   

    我把表结构再次说明一下:A表:pub_goods货品基础表
    字段:
    goodsid:货品ID
    goodsname:货品品名
    goodstype:货品规格
    goodsunit:货品单位
    prodare:产地B表:bms_sa_dtl:销售记录表
    goodsid:货品ID
    goodsqty:销售数量我把问题弄复杂了,要求其实很简单,如下:
    统计出B表里的货品销量。要求:按产地汇总,统计一个产地的所有品种的销售数量,挑出前50位的。要求一年的。
    举个例子:A表里十个品种,有8个产地是上海先锋的,但不是一样货品。我就要统计出上海先锋的这个产地一年里卖了多少。
      

  5.   

    select top 50 * from (
    select b.comid,sum(c.销量) as sl from a,b,c
    where a.comid=b.comid and a.货品id=c.货品id
    and c.时间 between '2004-1-1' and '2004-12-31' group by prodare) a
      

  6.   

    select top 50 TabA.prodare as 产地,Sum(TabB.goodsqty) as 销售总量 
    from pub_goods Taba 
    inner join bms_sa_dtl Tabb on tabb.goodsid = taba.goodsid
    grounp by TabA.prodare
    order by 销售总量 desc
      

  7.   

    在B表里了每一笔销售记销售时间,字段是Selldate
      

  8.   

    select Top 50 * from
    (
    select prodare,count(b.goodsqty)as  goodsqty 
    from pub_goods a,bms_sa_dtl b 
    where a.goodsid=b.goodsid 
    --and 时间 
    group by prodare
    ) a
    order by goodsqty desc
      

  9.   

    select top 50 * from (
    select b.comid,sum(c.销量) as sl from a,b,c
    where a.comid=b.comid and a.货品id=c.货品id
    and c.时间 between '2004-1-1' and '2004-12-31') a
    1000分,有点夸张吧
      

  10.   

    select top 50 * from (
    select b.comid,sum(c.销量) as sl from a,b,c
    where a.comid=b.comid and a.货品id=c.货品id
    and c.时间 between '2004-1-1' and '2004-12-31') a