mysql - 使用 where 子句左连接三个表

标签 mysql sql

谁能告诉我这个查询有什么错误错误: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/

相关文章:

mysql - 重写SQL查询修复MySQL 5.7严格模式导致的功能依赖问题

Mysql 无法添加或更新子行 外键约束失败 ON DELETE NO ACTION ON UPDATE NO ACTION

php - ajax调用php脚本没有错误没有记录

php - fatal error :调用未定义的方法 db::_results()

mysql - Spark SQL/Hive 查询永远伴随着 Join

php - 从 SQL 查询创建 XML 文件

php - doctrine2 查询同花后的顺序

Sql Hierarchy ID 按级别排序

sql - 选择查询的事务死锁

sql - 在 PostgreSQL 中处理竞争条件