所以這個Report直接使用INNER JOIN或者Left join/Right Join連接兩張表都得不到想要的數據。當時Report的開發者的思路是先將符合
使用FULL OUTER JOIN拼接多表數據
[日期:2012-10-19] 來源:Linux社區 作者:SmithLiu328 [字體:]
今天幫用戶修改一個報表,里邊設計到出庫和入庫的操作,要將每個產品每天的出入口信息列出來。
可能存在這樣的情況:
1. 產品在出庫表中存在數據但是入庫表中沒有數據
2. 產品入庫表中存在數據但是出庫表中沒有數據
所以這個Report直接使用INNER JOIN或者Left join/Right Join連接兩張表都得不到想要的數據。當時Report的開發者的思路是先將符合條件的產品從出庫表和入庫表中找出來,然后使用LEFT JOIN連接入庫表和出庫表獲得最終數據。當然這樣做沒有問題,但是不需要中間表,只需要借助FULL OUTER JOIN就可以獲得需要的數據。(FULL OUTER JOIN平時一般很少用到)
這里我們舉個例子:
QTYINT)
QTY
1,10)
2,20)
2,30)
3,40)
--希望得到的最終結果:
BON A.ID= B.ID
BON A.ID= B.ID
BON A.ID= B.ID
BON A.ID= B.ID
UNION
BON A.ID= B.ID
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com