我無法將3個表連接在一起。我有一個SELECT
,適用於兩個表格,這是我希望看到的主要數據。我還想將稅率和稅率添加到所選單位。它們存儲在不同的表格中,因爲在我的情況下,單位可以有多個費率。這裏是工作的查詢:與3個表的左連接
SELECT u.unit_name from units u
LEFT JOIN reservations r ON r.unit = u.id
AND r.arrival <= 2013-10-11
AND r.departure >= 2013-10-01
WHERE r.unit IS NULL
和一個我試圖讓不:
SELECT u.unit_name, ur.unit, ur.rate, ur.tax
FROM units u
LEFT JOIN reservations r
INNER JOIN unit_rates ur
ON r.unit = u.id
ON ur.unit = u.id
AND r.arrival <= 2013-10-11
AND r.departure >= 2013-10-01
WHERE r.unit IS NULL
AND ur.active = TRUE
這裏是SQLfiddle:http://sqlfiddle.com/#!2/b303ad
這不是yeilding任何結果。我不應該在第二次JOIN中使用INNER嗎?右連接有效,但將名稱保留爲NULL ...? –
取決於您需要在原始帖子中顯示一些示例數據。 – Mihai
試圖使此sqlfiddle:'CREATE TABLE unit_rates ( ID INT, 單元INT(4), 率十進制(10,4), 稅十進制(10,4), 活性TINYINT(1) ) ; INSERT INTO unit_rates(id,unit,rate,tax,active) VALUES(1,1000,100.00,10.00,1); CREATE TABLE units { id int, name varchar(10) }; INSERT INTO units(id,name)VALUES(1000,「BOB」); CREATE TABLE reservations id int,unit int(4),arrival varchar(10),departure varchar(10) }; INSERT INTO保留(1,1000,「2013-09-25」,「2013-09-30」);' 但它不會生成。 –