订单基础表PO_HEAD_TBL字段PO_NO    SUM_PRICE0001      20.55订单详细信息表PO_LINE_TBLID          PO_NO       UNIT_PRICE
1            0001          10.55
2            0001          5.0
3            0001          5.0oracle数据库两个表的关联字段是PO_NO订单基础表中的 SUM_PRICE  字段为该订单的总金额
订单详细信息表中的 UNIT_PRICE 字段为该订单的每个品项的价格 统一订单 累加 UNIT_PRICE 价格 应该等于  SUM_PRICE但是现在我想查询  同一PO_NO  下,累加PO_LINE_TBL 表中的   UNIT_PRICE 不等于 该订单下 SUM_PRICE 的价格的记录SQL 如何实现呢?在线等,若不理解题目请回帖感谢!

解决方案 »

  1.   

    select h.PO_NO 
    from PO_HEAD_TBL h
    (select PO_NO, sum(UNIT_PRICE) cui 
     from PO_LINE_TBL
     group by PO_NO) l
    where h.SUM_PRICE <> l.cui;
      

  2.   

    加多个条件 h.PO_NO  = l.PO_NO 
      

  3.   

    select h.PO_NO 
    from PO_HEAD_TBL h
    (select PO_NO, sum(UNIT_PRICE) cui 
     from PO_LINE_TBL
     group by PO_NO) l
    where h.SUM_PRICE <> l.cui and h.PO_NO = l.PO_NO 
      

  4.   

    select ph.PO_NO 
    from PO_HEAD_TBL ph
    (select PO_NO, sum(UNIT_PRICE) t 
    from PO_LINE_TBL
    group by PO_NO) l
    where ph.SUM_PRICE <> l.t and ph.PO_NO = l.PO_NO