如果存在具有所需值的必需文档,则更新 table 数据
Update table data if there is a required document with the required value
我使用 MySql 数据库,那里有一个 table“注册表”,例如,文档“78946123852”的交易已售出“TransactionID”= 1 我想更新“PercentSub”和“PercentAge”行,如果我添加了相同的文档编号但使用 return 事务“TransactionID”= 2。我提出了一个请求,但它不起作用请帮助
UPDATE registry SET
registry.PercentAge=t2.PercentAge,
registry.PercentSub=t2.PercentSub
FROM registry AS t2
LEFT JOIN registry ON t2.NumberDocument=registry.NumberDocument AND t2.TransactionID='1' AND registry.TransactionID='2'
WHERE registry.NumberDocument='78946123852'
错误 MySql
我试过此更新在 SQL Server 2008 中有效,但在 MySQL 中无效
您主要可以重新排列语句中 SET
子句的顺序,并使用这样的子查询
UPDATE registry AS r1
LEFT JOIN ( SELECT * FROM registry WHERE TransactionID = 1 ) AS r2
ON r2.NumberDocument = r1.NumberDocument
SET r1.PercentAge = r2.PercentAge, r1.PercentSub = r2.PercentSub
WHERE r1.NumberDocument = 78946123852
AND r1.TransactionID = 2
假设 table 中相关列的数据类型是数字,其中数值的引号被删除。
我使用 MySql 数据库,那里有一个 table“注册表”,例如,文档“78946123852”的交易已售出“TransactionID”= 1 我想更新“PercentSub”和“PercentAge”行,如果我添加了相同的文档编号但使用 return 事务“TransactionID”= 2。我提出了一个请求,但它不起作用请帮助
UPDATE registry SET
registry.PercentAge=t2.PercentAge,
registry.PercentSub=t2.PercentSub
FROM registry AS t2
LEFT JOIN registry ON t2.NumberDocument=registry.NumberDocument AND t2.TransactionID='1' AND registry.TransactionID='2'
WHERE registry.NumberDocument='78946123852'
错误 MySql
我试过此更新在 SQL Server 2008 中有效,但在 MySQL 中无效
您主要可以重新排列语句中 SET
子句的顺序,并使用这样的子查询
UPDATE registry AS r1
LEFT JOIN ( SELECT * FROM registry WHERE TransactionID = 1 ) AS r2
ON r2.NumberDocument = r1.NumberDocument
SET r1.PercentAge = r2.PercentAge, r1.PercentSub = r2.PercentSub
WHERE r1.NumberDocument = 78946123852
AND r1.TransactionID = 2
假设 table 中相关列的数据类型是数字,其中数值的引号被删除。