簡體   English   中英

Oracle SQL-合並兩個選擇語句

[英]Oracle SQL - Combine two select statements

select qi.qtyonhand + qd.delqty as teste,
       qi.itemname
  from qitem qi, qdel qd
 where qi.itemname = qd.itemname
   and qd.deptname = 'recreation';


select qi.qtyonhand - qs.saleqty as teste,
       qi.itemname
  from qsale qs, qitem qi
 where qi.itemname = qs.itemname
   and qs.deptname = 'recreation';

我試圖更新qitem通過添加量計數qdel表的數量,並通過從減去qsale表的數量。 我試圖將所有內容都放在一列中,但是qdel表中可能沒有部門名稱為"recreation"因此當我嘗試將select語句放入一個項目時,它會從qitems刪除一些項目。

這怎么樣? 如果這樣做不能達到預期效果,您可以顯示一些樣本數據來更好地解釋您的需求嗎?

select qi.qtyonhand + NVL(qd.delqty,0) + NVL(qa.saleqty,0)  as teste, qi.itemname
from qitem qi
left outer join (select * from qdel where deptname = 'recreation') qd
  on qi.itemname = qd.itemname
left outer join (select * from qsale where deptname = 'recreation') qs
  on qi.itemname = qs.itemname
where (qd.delqty is not null or qs.saleqty is not null)

(可能有一種更簡單的方法,尤其是在qitem也有一個deptname列的情況下。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM