[英]How to combine UPDATE query with subquery?
在我的Mysql數據庫中,我想為使用以下select語句找到的所有記錄更新字段fup
:
SELECT ic.hash
FROM incompany as ic, app
WHERE ic.id = app.ic_id;
因此,我創建了以下組合查詢:
UPDATE incompany
SET fup = 'x'
WHERE hash IN (SELECT ic.hash
FROM incompany as ic, app
WHERE ic.id = app.ic_id);
但是此查詢給我以下錯誤:
您無法在FROM子句中指定目標表“ incompany”進行更新
有人知道我該怎么做嗎? 歡迎所有提示!
您似乎想要兩列的條件,因此這有點棘手。 如果我正確遵循邏輯:
UPDATE incompany ic JOIN
(SELECT DISTINCT ic.hash
FROM incompany ic JOIN
app
ON ic.id = app.ic_id
) ica
ON ica.hash = ic.hash
SET fup = 'x' ;
您不需要子查詢。 您可以使用INNER JOIN
設置條件,以將incompany
表鏈接到app
表以及incompany
表的另一個別名。
UPDATE incompany I
INNER JOIN app A ON I.id = A.ic_id
INNER JOIN incompany I2 ON I.hash = I2.hash
SET I.fup = 'x'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.