2017-10-09 48 views
0

我在網上查找並且遵循了其他建議,例如使用back-ticks和使用括號,但是我仍然收到此錯誤。如果任何人都可以幫助ID欣賞它。我正在使用WHERE子句,但我收到了一個錯誤

我的查詢:

select p.*, a.street1, a.street2, a.cityeet1, a.street2, a.city, a.name 
from person p 
left join address a 
where (a.name = 'New Jersey' or a.name = 'Connecticut'); 

錯誤:

ERROR 1064(42000):你在你的SQL語法錯誤;檢查與你的MariaDB服務器版本相對應的手冊,在第1行附近使用正確的語法「where(a.name ='New Jersey'或a.name ='Connecticut''')'

+0

嘗試在WHERE子句中沒有別名,問候。 – 2017-10-09 23:43:18

+0

沒有加入'ON'條件;但是這通常不會阻止它在MySQL中。 – Uueerdo

+0

@Uueerdo即使MySQL需要一個用於外連接的「ON」子句。 – Barmar

回答

0

您需要將連接值 - 可能是這樣的:

加入地址的ON(p.address_id = a.id)

select p.*, a.street1, a.street2, a.cityeet1, a.street2, a.city, a.name from person p left join address a ON (p.address_id = a.id) where (a.name = 'New Jersey' or a.name = 'Connecticut'); 

當兩個字段加入表(標明匹配值)

另外,它看起來像字段名稱中存在拼寫錯誤(a.cityeet1)

+0

謝謝你,我結束了不使用左連接,只是加入了表,並使用where子句來組合外鍵。 –

相關問題