首先需要限定时间段为 2011-09-21 至 2012-1-1 查询的所有信息都限定在此时间段内。
然后统计出 订单数 供应商数 物资行数 人民币总金额  还要统计出已批准的订单的人民币总金额  注意:这里的人民币总金额和前面的人民币总金额是同一字段  决定是否为批准的条件是QUOTATIONLINE.ISAWARDED=1 我现在不知道的就是where后面几个条件怎么写在一起 要求是所有信息(除时间)在一行显示  (包括两个总金额) 字段属性为 
订单数RFQ.RFQNUM        供应商数COMPANIES.NAME       物资行数RFQLINE.ITEMNUM  
人民币总金额QUOTATIONLINE.LINECOST    时间为 rfq.STATUSDATE       表之间的关联也很麻烦 希望大家帮帮忙
万分感谢!!!!

解决方案 »

  1.   

    先说明白,你的订单数和供应商数和物资行数是总的还是某一个商品的?
    select RFQ.RFQNUM (如果是某一商品就sum(RFQ.RFQNUM )后面一样,不多写了),COMPANIES.NAME ,RFQLINE.ITEMNUM ,sum(QUOTATIONLINE.LINECOST) as A(人民币总金额) ,D.B(批准的总金额)
    from 你那些表 ,(select sum(QUOTATIONLINE.LINECOST) as B(批准的总金额) from 你那些表 where QUOTATIONLINE.ISAWARDED=1) D (取个别名)
    where   
    rfq.STATUSDATE >=to_date('2011-09-21','yyyy-MM-dd')
    and rfq.STATUSDATE <=to_date('2012-01-01','yyyy-MM-dd')
    and 你那些关联好了就这些,希望你能看明白,你可能就是批准金额不知道该怎么跟他们放一行吧,可以讲查询结果当成一个表使用的
      

  2.   

    订单数 和供应商数都是时间段内的总的数量啊  可是如果在select语句中将COMPANIES.NAME 与 sum(RFQ.RFQNUM )放在一起  他会提示“ 不是单组分组函数” 这咋办?
      

  3.   

    最后 group by COMPANIES.NAME 
    不是单组分组函数都group by 就行了 ,你还真是初学啊