我試圖做多參加這樣的多加入MySQL的
SELECT * FROM (((Customer FULL JOIN Booking ON Customer.ID = Booking.CustID)
FULL JOIN Flight ON Booking.FlightID = Flight.ID)
FULL JOIN FlightRoute ON Flight.RouteID = FlightRoute.ID)
但根據MySQL的語法不正確。請幫忙
我試圖做多參加這樣的多加入MySQL的
SELECT * FROM (((Customer FULL JOIN Booking ON Customer.ID = Booking.CustID)
FULL JOIN Flight ON Booking.FlightID = Flight.ID)
FULL JOIN FlightRoute ON Flight.RouteID = FlightRoute.ID)
但根據MySQL的語法不正確。請幫忙
MySQL中沒有FULL JOIN
。這是複雜的,但FULL JOIN
相當於UNION ALL
之間LEFT JOIN
和RIGHT JOIN
,使用條件刪除重複。現在已經很晚了,在那個聲明中想到你正在傷害我的頭。
你在Conrad Frix的回答中說,如果刪除了FULL
就可以工作,如果確實如此,那麼您已經誤解了FULL JOIN
和INNER JOIN
的工作原理。
對於第一FULL JOIN
它會是什麼樣子:
SELECT * FROM Customers c
LEFT JOIN Booking b ON c.ID = b.CustId
UNION ALL
SELECT * FROM Customers c
RIGHT JOIN Booking b ON c.ID = b.CustId
WHERE c.ID IS NULL
使用此基礎上形成的語句的其餘部分。
當我正在尋找MySql和FULL Join時,我發現這篇文章解釋了一些在Mysql中模擬FULL JOIN的方法。我認爲這可能對你有用。
MySQL是不是我的專長的領域,但我不認爲MySQL支持全連接。我找到了一個簡單的文章,詳細介紹了一些替代品
http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/
你到底做的,你得到了什麼錯誤? – Nanne 2011-02-17 16:38:08