我有一個表items
這是地圖上的點。他們有表item_stations
(item_id
,station_id
)中最近的地鐵站列表。這些電臺的名稱放置在表stations
(id
,station_name
,station_direction
,...)中。MySQL:我怎樣才能讓INNER與LEFT JOIN結果聯繫
所以我需要返回SQL查詢項目數據與最近的車站的名稱。
SELECT
i.id, i.title, i.description,
GROUP_CONCAT(s.station_id) as stations_ids,
FROM items i
LEFT JOIN item_stations s ON s.item_id = s.id
WHERE id = ?
GROUP BY i.id
LIMIT 1
如何必須寫WITH表stations
INNER JOIN
ON stations.id = s.station_id
?
你怎麼知道它是否是最近的車站? –
@JW웃這個邏輯是在添加到'item_stations'表之前的其他算法。所以我只需要連接這個表中的行就可以得到結果(從table'stations'獲取工作站名稱)。 – mikatakana
您的查詢包含'SELECT'中未包含在'GROUP BY'子句中的非聚合字段。 MySQL允許這樣做,但它是非標準和混亂的語法。 – Matthew