我想写一个这样的查询:
UPDATE `test_credit`
SET `test_credit`.`credit`=(`test_credit`.`credit`-((`test_credit`.`credit`/100)*5))
WHERE `test_credit`.`name` = `users`.`uname`
实际上我想查询users
。uname
= test_credit
。name
,但mysql说它有错误并认识到users
。{ {1}}作为列
什么是正确的查询?
答案 0 :(得分:4)
您需要使用表users
显式加入它。根据我对您的查询的理解,如果两个表上都存在credit
,您需要计算names
。
尝试一下,
UPDATE test_credit a
INNER JOIN users b
ON a.name = b.uname
SET a.credit = (a.credit - ((a.credit/100) * 5.0))
-- WHERE b.parent= "example"