我在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
我需要在默认情况下获取所有值(名为values的列)
在CollectionVersions中放入cvName
其中,集合属性值中的akID=29
基本上,把“Billette”改成“B.B”。把“托尼”改成“TT”。
到目前为止我想到了这个
SELECT value
FROM `atDefault` AS d
LEFT JOIN `CollectionAttributeValues` AS v ON d.avID = v.avID
WHERE v.akID =29
但我不知道如何在CollectionVersions的“cvName”列中插入结果值。。。
最佳答案
使用从查询中获取的数据来UPDATE
表的所有列。尝试以下查询-
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)