SQL UPDATE语句报错:多部分标识符loty、users无法识别求助
问题解决:多部分标识符找不到的SQL错误
原语句的问题出在FROM子句的语法混用,同时用JOIN和逗号分隔表的写法导致数据库无法正确解析表关联,从而找不到loty和users的标识符。
修正后的SQL语句如下:
UPDATE z SET cenabiletu = z.cenabagazu + l.cena FROM zabukowane z INNER JOIN loty l ON z.idlotu = l.idlotu INNER JOIN users u ON z.userid = u.userid;
说明:
- 用表别名(z代表zabukowane,l代表loty,u代表users)简化代码,同时让数据库明确识别每个表的引用
- 通过
INNER JOIN明确指定表之间的关联条件,替代原语句中混乱的关联写法 - 仅当zabukowane的userid匹配users的userid、且zabukowane的idlotu匹配loty的idlotu时,才执行更新操作,将cenabiletu设置为cenabagazu与loty.cena的和
内容的提问来源于stack exchange,提问作者Oskar Kacala
相关产品推荐
相关产品推荐

