2014-11-21 17 views
0

幫助我在oracle數據庫上的最後一個項目。 我現在正在掙扎。 任何人都可以幫助我。ORA-00936:缺少表達式ORACLE請幫我

這是我的查詢

SELECT tr.id_kasir, 
     tr.tgl_transaksi, 
     sum (
      SELECT CASE tr.id_member when 'M000' 
        then SUM (mn.harga_menu * st.qty_menu) 
         + SUM(mn.harga_menu*st.qty_menu) * 0.1 
         - nvl2 (pro.discount, 
             sum(mn.harga_menu * st.qty_menu) * (pro.discount/100), 
             0) 
        ELSE SUM(mn.harga_menu*st.qty_menu) 
         - SUM(mn.harga_menu * st.qty_menu) * 0.05 
         + SUM(mn.harga_menu*st.qty_menu) * 0.1 
         - nvl2 (pro.discount, sum(mn.harga_menu * st.qty_menu) * (pro.discount/100) , 0) 
        END Setoran 
      FROM transaksi tr 
      join struk st on (st.no_transaksi = tr.no_transaksi) 
      join menu mn on (st.kode_menu = mn.kode_menu) 
      left outer join promo pro on (pro.kode_menu = mn.kode_menu) 
      GROUP BY tr.id_kasir, tr.tgl_transaksi, tr.id_member,pro.discount 
      ORDER BY tr.tgl_transaksi, tr.id_kasir) setoran 
from transaksi tr 
group by tr.id_kasir, tr.tgl_transaksi 

回答

1

我不知道這個查詢嘗試,但我看到的一些問題存在。例如。你不能使用內部SUM()ORDER BY,你不能使用SUMCASE這樣...

讓我們通過打破了查詢固定它......與內部分開始。以下查詢是否有效?

SELECT Sum(CASE tr.id_member WHEN 'M000' 
        then (mn.harga_menu * st.qty_menu) 
         +(mn.harga_menu*st.qty_menu) * 0.1 
         - nvl2 (pro.discount, 
             (mn.harga_menu * st.qty_menu) * (pro.discount/100), 
             0) 
        ELSE (mn.harga_menu*st.qty_menu) 
         - (mn.harga_menu * st.qty_menu) * 0.05 
         + (mn.harga_menu*st.qty_menu) * 0.1 
         - nvl2 (pro.discount, (mn.harga_menu * st.qty_menu) * (pro.discount/100) , 0) 
        ) Setoran 
      FROM transaksi tr 
      join struk st on (st.no_transaksi = tr.no_transaksi) 
      join menu mn on (st.kode_menu = mn.kode_menu) 
      left outer join promo pro on (pro.kode_menu = mn.kode_menu) 
      GROUP BY tr.id_kasir, tr.tgl_transaksi, tr.id_member,pro.discount 

如果上述查詢有效,您可以輕鬆地將其包裹在外部查詢中。

+0

hallo hash brown。謝謝你或你的回答,但上面的查詢不起作用。我可以獲得有關上述查詢的更多問題的聯繫方式嗎?我想是應該發送給你的數據集:'( – Shasapo 2014-11-21 04:39:19

+0

從prev的內部查詢運行良好。問題是外部查詢:'( – Shasapo 2014-11-21 04:41:24

+0

完成,thankyouuu〜 – Shasapo 2014-11-21 05:25:06