對不起,一個模棱兩可的標題,但我想不出一個好的。涉及多個表和一個OR語句的Mysql查詢
我有2個表:
bookings(booking_id, customer_id)
charges(customer_id, booking_id, amount)
凡在收費表中,無論是booking_id或CUSTOMER_ID必須輸入。不是都。
我試圖讓量與某個相關CUSTOMER_ID
因爲CUSTOMER_ID的有時是空的收費表,我必須使用booking_id通過預訂表,獲取CUSTOMER_ID。
所以,我有這樣的查詢:
SELECT c.amount
FROM charges as c, bookings as b
WHERE (c.customer_id = 1234) OR
(c.customer_id = null AND c.booking_id = b.booking_id AND b.customer_id = 1234)
然而,這似乎創造一個無限循環。
有什麼建議嗎?
感謝,
1只是在[SQLFiddle]測試(http://sqlfiddle.com/#!9/b8458/6) – hims056