2017-10-09 49 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子句来组合外键。 –

相关问题