三表聯合查詢不到所有記錄

三表組合查詢問題,1,產品表(PRDT),字段(產品編號,產品名稱),進貨單表頭(PRDT_MF_INPUT)(進貨單號,日期),進貨單表身(PRDT_TF_INPUT)(進貨單號,產品編號,進貨單產品數量)

一張進貨單的表身可能有多種產品。

按時間段把進貨單所有產品記錄查詢出來,要求有,進貨單號,日期,產品編號,產品名稱,進貨單產品數量

謝謝!

select a.*,b.*,c.* from PRDT_MF_INPUT a,PRDT_TF_INPUT b, PRDT c where a.PRDT_INPUT_NO=b.PRDT_INPUT_NO and b.PRDT_CODE=c.PRDT_CODE

查詢不到所有記錄。

解決方法

select a.*, b.*, c.*
from prdt as c right join (prdt_tf_input as b right join prdt_mf_input as a on b.prdt_input_no = a.prdt_input_no) on c.prdt_code = b.prdt_code;

原因

1、有的單據只有主單據,沒有單據明細,用inner join 這部分主單據無法顯示
2、有的產品在單據明細中有,但是可能產品表中,原來有,後來刪掉了,用inner join 這部分產品的單據明細無法顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章