我寫了乙個sql如下:
select *
from storage_market_fetch f,
storage_market_fetch_mat m,
storage_mar_fetch_collect_mat fm
where f.fetch_bill_id = m.fetch_bill_id
and m.mat_info_id = fm.mat_info_id(+)
and f.is_deleted = 0
and f.is_returned = 0
and f.step = 9
and fm.mat_info_id is null
and m.pay_price is not null
我現在需要在fm表中加乙個條件,就是加fm.is_disabled = 0這樣乙個條件,如果直接加在where條件的後面,是不行的,那麼除了先查詢記錄再外連線的這種方法外,還有沒有其他的方法,我這樣寫對不對,請高手指點一下。
select *
from storage_market_fetch f,
storage_market_fetch_mat m,
storage_mar_fetch_collect_mat fm
where f.fetch_bill_id = m.fetch_bill_id
and m.mat_info_id = fm.mat_info_id(+)
and f.is_deleted = 0
and f.is_returned = 0
and f.step = 9
and fm.is_disabled(+) = 0
and fm.mat_info_id is null
and m.pay_price is not null
就是在連線條件中加了and fm.is_disabled(+) = 0的條件,不知道對不對。 Oracle外連線,左外連線,右外連線,內連線簡析
內連線即普通等值連線 select e.ename,e.job,e.sal,d.dname from emp e inner join dept d on e.deptno d.deptno where e.sal 2000 select e.ename e.job,e.sal d.dname fr...
關於外連線
表a 表b 表c 學號 pk 班級 pk 課目id 班級 fk 課目id 不可以為null 課名 課目id 可以為null 查某生課名,可以直接通過表a的課目id,但是該課表id為空時,需要從表b查出課表id,再進行查詢。select a.學號,課名 case when a.課目id is null...
oracle內連線 外連線
表testa,testb,testc,各有a,b兩列 a b001 10a002 20a a b 001 10b 003 30b a b001 10c004 40c 連線分為兩種 內連線與外連線。a 內連線 內連線,即最常見的等值連線,例 select fromtesta,testb wherete...