我试图在连接两列后用另一个表数据更新一个表它显示错误。
错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法
表 1:订单 表 2:用户
我正在尝试name
通过将字段与订单表中的字段进行比较来更新订单表字段user_id
。
该user_id
链接到用户表。我正在尝试连接first_name
&last_name
并更新name
订单表。
UPDATE orders SET
(name =
SELECT CONCAT(u.first_name, ' ', u.last_name) as full_name
FROM users u
WHERE u.first_name IS NOT NULL OR u.first_name <> '' );
情况是这样的。
如果user_id
订单表中存在任何 id,它应该检查users
表id
并选择 & 连接first_name
&last_name
并更新订单表。
如果user_id
订单表中没有,则该字段应更新为NONE
.
通过查询来完成它对我来说很复杂。我可以在 PHP 中做到这一点,但不推荐。有人可以帮忙吗。
假设您在 orders 表中有一个 user_id 列要加入,您可以尝试以下操作:
UPDATE orders o SET o.name =
IFNULL((SELECT CONCAT(u.first_name, ' ', u.last_name) AS full_name
FROM users u
WHERE u.user_id = o.user_id
AND u.first_name IS NOT NULL
AND u.first_name <> ''), 'NONE');
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句