从两个表加入,然后从结果加入到第三个表mysql
问题描述:
我想从两个表中取出JOIN
,并将结果表与第三个表加入但是它的抛出错误,让我知道我在这里做错了什么 -从两个表加入,然后从结果加入到第三个表mysql
SELECT e.id as e_id, e.name as e_name, e.artist_id as e_artist_id, e.event_date as e_date,
v.id as v_id, v.name as v_name, v.address as v_address, v.latitude as v_latitude, v.longitude as v_longitude
FROM events e
LEFT JOIN venues v
ON e.venue_id = v.id WHERE v.id = 12
LEFT JOIN artists a
ON e.artist_id = a.id
答
您需要将WHERE
条款更改为AND
-
SELECT e.id as e_id, e.name as e_name, e.artist_id as e_artist_id, e.event_date as e_date,
v.id as v_id, v.name as v_name, v.address as v_address, v.latitude as v_latitude, v.longitude as v_longitude
FROM events e
LEFT JOIN venues v
ON e.venue_id = v.id AND v.id = 12
LEFT JOIN artists a
ON e.artist_id = a.id
什么错误是将其掷 - 因为这就像一个线索 – Strawberry 2014-11-24 21:37:18
#1064 - 你在你的SQL语法错误;检查与您的MySQL服务器版本对应的手册,以找到正确的语法,以便在'LEFT JOIN artists'附近使用' ON e.artist_id = a.id 第6行的限制0,25' – Trialcoder 2014-11-24 21:37:54
WHERE在最后 - 尽管如果它是一个左加入那么应该是AND – Strawberry 2014-11-24 21:38:08