繁体   English   中英

mySQL,三个表:UPDATE多行(每个具有不同的值)

[英]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”列中。

用从查询中获取的数据UPDATECollectionVersions所有列。 请尝试以下查询-

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM