加入我有四個表作爲有Select查詢ORACLE中
表的映射表
表GAM
fin_ac cif acid
3435853 49275 121
1737631 78254 131
2515535 84000 141
表AST
acid despatch
121 E
131 E
141 E
臺手機
cif email
49275 xyz.com
78254 xyz.com
84000 xyz.com
我要生成一個報告,我已經寫了查詢
SELECT b.cif,
a.old_ac,
a.fin_ac,
d.email,
c.despatch
from map a,
gam b,
ast c,
phone d
where a.fin_ac = b.fin_ac
and b.acid = c.acid
and d.cif = b.cif
and c.DESPATCH in ('A','B','D','E')
結果我得到的是
CIF OLD_AC FIN_AC EMAIL DISPATCH
10800049275 0140007063501 9080003435853 xyz.com E
10800078254 0140012522201 9080001737631 xyz.com E
10800084000 0140014195701 9080002515535 xyz.com E
現在對於一些在映射表,FIN_AC行一片空白。即使fin_ac爲NULL,我也想從map檢索所有行。我嘗試使用LEFT OUTER JOIN,但它不起作用。
問題出在IN子句中。即使使用左連接,也不會獲得帶NULL值的FIN_AC,因爲對應的DESPATCH將爲NULL。 –