谁能告诉我这个查询有什么错误错误:ER_PARSE_ERROR:你的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在“LEFT JOIN where YEAR at line 1”附近使用的正确语法
SELECT uw.user_id, cd.LEW, cd.event_date,dd.hwRate,d3.Wdata
FROM user_worker AS uw
LEFT JOIN _device1 AS cd ON uw.user_id = cd.uuid
WHERE YEAR(cd.event_date)=2018
LEFT JOIN _device2 AS dd ON uw.user_id = dd.uuid
WHERE YEAR(dd.event_date)=2018
LEFT JOIN _device3 AS d3 ON uw.user_id = d3.uuid
WHERE YEAR(d3.event_date)=2018
最佳答案
如评论中所述,每个连接不能有多个位置,但如果用“AND”替换所有位置,它将起作用:
SELECT uw.user_id, cd.LEW, cd.event_date,dd.hwRate,d3.Wdata
FROM user_worker AS uw
LEFT JOIN _device1 AS cd ON uw.user_id = cd.uuid
AND YEAR(cd.event_date)=2018
LEFT JOIN _device2 AS dd ON uw.user_id = dd.uuid
AND YEAR(dd.event_date)=2018
LEFT JOIN _device3 AS d3 ON uw.user_id = d3.uuid
AND YEAR(d3.event_date)=2018
关于mysql - 使用 where 子句左连接三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49133272/