0
查詢:MySQL的:INNER JOIN崩潰2 LEFT JOIN的,如果他們中的一個將返回NULL
SELECT
i.id, i.title, i.description,
cities.name as city,
GROUP_CONCAT(DISTINCT station.name) as station,
GROUP_CONCAT(DISTINCT p.url) as photos
FROM
items i
INNER JOIN
cities ON cities.id = i.city_id
LEFT JOIN
item_photos p ON p.item_id = i.id
LEFT JOIN
item_stations s ON s.item_id = i.id
INNER JOIN
stations ON stations.id = s.station_id
WHERE i.id = ?
LIMIT 1
如果表item_stations
行不存在,無論是LEFT JOIN的作品:返回站的照片和NULL。但在這種情況下INNER JOIN查詢將返回NULL爲照片和電臺。我應該如何重寫查詢以說INNER JOIN不要連接表,如果item_stations
中沒有需要的行s.item_id = i.id
?
哦,謝謝!我試過使用LEFT JOIN而不是INNER JOIN,它工作正常! – mikatakana
@mikatakana我很高興現在爲你工作。 – Taryn