[英]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.