数据库中是这样的
品名   规格    单位名称    所属地区    铺货数量   铺货金额     年月日药品1  20*10    甲单位      北京          20       2000.20  20030301
药品1  20*20    甲单位      北京          20       2000.20  20030301
药品1  20*30    甲单位      北京          20       2000.20  20030301药品1  20*10    甲单位      上海          20       2000.20  20030301
药品1  20*20    甲单位      上海          20       2000.20  20030301
药品1  20*30    甲单位      上海          20       2000.20  20030301我要作这样的报表!
----------------------------------------------------------------------
月份 | 所属地区 | 药品1 20*10    |  药品1  20*20  |  药品1  20*30  | 
     |         |----------------|----------------|----------------|
     |         |铺货数量|铺货金额|铺货数量|铺货金额|铺货数量|金额    |
___________________________________________________________________
     |北京     |     |小计     |     |上海     |
     |小计     |____________________________________________________________________
年合计:
各位大侠帮帮我,看看SQL语句怎么写,报表怎么作!!!很急,很急,很急

解决方案 »

  1.   

    这个用SQL语句很难写的,不如用Delphi循环+临时表,两重循环:
    查出distinct 所属地区,以地区数为第一重循环
    然后针对每个地区的明细数据循环,循环一次插入临时表一条记录,
    一个地区的循环结束,往临时表中插入一条小计记录,即可。
      

  2.   

    使用臨時表,
    先生成以下格式數據:
    月份 | 所属地区 | 药品1 20*10    |  药品1  20*20  |  药品1  20*30  | 
         |         |----------------|----------------|----------------|
         |         |铺货数量|铺货金额|铺货数量|铺货金额|铺货数量|金额    |1:建立臨時表:字段包括月份,所屬地區;
    2:插入Distinct月份,所屬地區的數據到臨時表中;
    3:以Distinct品名先成表字段頭,在生成字段頭的同時根據月份及所屬地區與品名
       生成所屬品名字段對應的舖貨數據
    select Distinct 月份,所屬地區 into #TemTable from Table
    Declare #MyCur1 cursor for select Distinct 品名 from Table
    Open #MyCur1
    Fetch Next From #MyCur1 into @品名
    While @@fetch_status=0
    begin
       Exec('Alter table #TemTable add Column A_'+@品名)  --代替舖貨數量
       Exec('Alter table #TemTable add Column B_'+@品名)  --代替舖貨金額
       Exec(' Update #TemTable set A_'+@品名+'=....from #TemTable a , Table b where a.月份=b.月份 and a.地區=b.地區 and b.品名='+"'"+@品名+"'")  --更新對應數據
       Exec(' Update #TemTable set B_'+@品名+'=....from ......')
       Fetch Next From #MyCur1 into @品名
    end上面隻是一個思想,並不能實際運行,然後再做報表就容易多少。
    以前有不下的之類貼子,搜索一下。