晕哦~每个表有什么字段都不知道,怎么sql啊~

解决方案 »

  1.   

    不好意思,plu表:id(商品id),plu_code(商品编号),plu_name(商品名称),const_price(成本价),stock_num(库存数量);
    billindex:id(单据id号),bill_no(单号),mode(模式,为1时,销售,为2时销退,),billdate(开单日期),
    billsale(销售细表):id(记录id号),index_id(单据id号),mode(模式,为1时,销售,为2时销退,为3时进货,为4时进货退货,),plu_id(商品id),number(数量),const_price(销售时成本价),
    billstock(进货细表):id(记录id号),index_id(单据id号),mode(模式,为3时进货,为4时进货退货,),plu_id(商品id),number(数量),price(进货或进货退货时进货价);未列全字段,因为考虑到只需要上述字段即可,tks!
      

  2.   

    三个表嵌套就行啦,我太懒了,给你看看我的三个表嵌套,功能是显示一段时间进、销、退及库存列表:select '['+Ljoin.type+']',Ljoin.bb,Ljoin.isum,
    Ljoin.isumall,Ljoin.ssum,Ljoin.ssumall,Ljoin.bsum,Ljoin.bsumall,Ljoin.cc,Ljoin.isum-Ljoin.ssum+Ljoin.bsum+Ljoin.bb-Ljoin.cc from
     (select lstt.type,lstt.isum,lstt.isumall,lstt.ssum,lstt.ssumall,lstt.bsum,lstt.bsumall,lstt.bb,isnull(baosun.amount,0) as cc from
    (select ttis.type,ttis.isum,ttis.isumall,ttis.ssum,ttis.ssumall,ttis.bsum,ttis.bsumall,isnull(orlignstore.amount,0) as bb from  
      (select tis.type,tis.isum,tis.isumall,tis.ssum,tis.ssumall,sum(isnull(kickback.amount,0)) as bsum ,
      sum(isnull(case kickback.moneykind when '美圆' then kickback.amount*kickback.single*8.3 else kickback.amount*kickback.single end ,0)) as bsumall  
      from (select ti.type,ti.isum,ti.isumall,sum(isnull(sale.amount,0)) as ssum,
       sum(isnull(case sale.moneykind when '美圆' then sale.amount*sale.single*8.3 else sale.amount*sale.single end,0)) as ssumall 
       from (select product.type,sum(isnull(import.amount,0)) as isum ,sum(isnull(import.amount*import.single,0)) as isumall
       from product left join import on product.type=import.type
       and (import.inputdate>=@begindate and import.inputdate<=@enddate)
        group by product.type) ti left join sale on ti.type=sale.type and (sale.inputdate>=@begindate and sale.inputdate<=@enddate)
        group by ti.type,ti.isum,ti.isumall) tis left join kickback  on tis.type=kickback.type and (kickback.inputdate>=@begindate and
        kickback.inputdate<=@enddate) group by tis.type,tis.isum,tis.ssum,tis.isumall,tis.ssumall) ttis  left join orlignstore on ttis.type=orlignstore.type 
      group by ttis.type,ttis.isum,ttis.isumall,ttis.ssum,ttis.ssumall,ttis.bsum,ttis.bsumall,orlignstore.amount) lstt  left join baosun 
    on lstt.type=baosun.type group by lstt.type,lstt.isum,lstt.isumall,lstt.ssum,lstt.ssumall,lstt.bsum,lstt.bsumall,lstt.bb,baosun.amount
        having lstt.ssum>0)  Ljoin
      

  3.   

    呵呵,楼主用的是sqlserver ?!