2016-11-21 134 views
0

在下面的SQL查询中使用WHERE子句时,出现语法错误。该查询在没有where子句和where子句的情况下可以使用简单的“SELECT * FROM”查询而不需要连接。最初的查询使用PDO和绑定参数,但是我在这个示例中使用了直接的SQL,因此我可以首先获取语法。我哪里错了?带有左连接的MySQL WHERE子句

SELECT bk.*, au.author_firstname, au.author_surname, pu.publisher_name 
FROM books bk 
LEFT JOIN authors au ON bk.author_id = au.author_id 
LEFT JOIN publishers pu ON bk.publisher_id = pu.publisher_id 
ORDER BY title 
WHERE bk.author_id = 13 
+2

''必须在'order by'之前' –

回答

3
SELECT bk.*, au.author_firstname, au.author_surname, pu.publisher_name 
    FROM books bk 
LEFT JOIN authors au 
     ON bk.author_id = au.author_id 
LEFT JOIN publishers pu 
     ON bk.publisher_id = pu.publisher_id 
    WHERE bk.author_id = 13 
ORDER BY title 

WhereORDER BY之前。

+0

感谢您的超级快速响应。正如你将会收集到的,我是一个MySQL新手。我修复了PDO版本,并重新编码。你已经救了我的早晨。干杯! – Ukebloke

+0

@Ukebloke不客气:) –