[英]mySQL, three tables: UPDATE multiple rows (each with a different value)
我在mySQL中有三個表:
TABLE:CollectionAttributeValues
cID
akID
avID
TABLE: atDefault
avID
value
TABLE: CollectionVersions
cID
cvName
看起來像
CollectionVersions
cID cvName
1 Billete
5 Tony
atDefault
avID value
1 B.B
3 T.T
CollectionAttributeValues
cID akID avID
1 29 1
5 29 3
我需要的所有值 (已命名的列值)在atDefault”並付諸於CollectionVersions cvName WHERE AKID在CollectionAttributeValues = 29
基本上,選擇“ Billette”並將其更改為“ BB”。 並且還將“ Tony”更改為“ TT”。
到目前為止,我想到了這個
SELECT value
FROM `atDefault` AS d
LEFT JOIN `CollectionAttributeValues` AS v ON d.avID = v.avID
WHERE v.akID =29
但是我不知道如何將結果值插入CollectionVersions的“ cvName”列中。
用從查詢中獲取的數據UPDATE
表CollectionVersions
所有列。 請嘗試以下查詢-
UPDATE CollectionVersions cv
SET cvName =
(SELECT value
FROM `atDefault` AS d
LEFT JOIN `CollectionAttributeValues` AS v ON d.avID = v.avID
WHERE v.akID =29
AND cv.cID = v.cID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.