files_imported
--------
ID (PK)
SPN
FILE_ID
LISTPRICE
ACTION
我需要搜索并更新TableA和SET ACTION ='A'WHERE给定SPN的行中的PRICE值不等于为不同的FILE_ID和匹配的SPN找到的PRICE值。
我可以通过将任务分解为较小的查询来完成PHP,但我宁愿使用MySQL的干净解决方案。
这是我走了多远:
UPDATE files_imported fi1
JOIN files_imported fi2
ON fi1.SPN = fi2.SPN
SET ACTION = 'M'
WHERE fi1.file_id = 980987987
AND fi1.listprice <> fi2.listprice
答案 0 :(得分:0)
UPDATE files_imported fi1, files_imported fi2
SET f11.ACTION = 'M'
WHERE fi1.file_id = 980987987
AND fi1.SPN = fi2.SPN /* same SPN*/
AND fi1.listprice <> fi2.listprice /* different price */
AND fi1.file_id <> fi2.file_id /* different file */