多加入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