0
我有四個要加入的表。我嘗試過,但我得到一些冗餘值。 下面是表的結構:
在oracle中加入4個表
custacdetails:
cid - FK
acno - PK
custac:
acno - FK
acscheme
custdetails
cid - PK
fname
個
same_ben:
cid
bacno
現在我想賬戶和它們各自的細節same_ben通過提供只有CID其帳戶匹配與bacno的全部名單。
這裏是我的查詢:
SELECT fname,
lname,
acscheme,
actype,
sb.bacno,
rdate
FROM custdetails cd,
custac ca,
custacdetails cad,
same_ben sb
WHERE cad.acno = ca.acno
AND cd.custid = cad.custid
AND cad.acno IN
(SELECT bacno FROM same_ben WHERE custid=?
)
AND sb.bacno = cad.acno
不,它不工作。顯示「未選擇行」消息。還有一件事我將在same_ben表中提供where條件給custid字段而不是custdetails表。 – 2014-09-19 01:45:42
我沒有真正測試代碼(我沒有數據庫),所以連接可能不正確,但它仍然可以幫助您清理代碼。使用上面的連接,「結構」子句全部包含在連接中,而「where」是你的真正邏輯 – 2014-09-19 16:00:31