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 CollectionAttributeValues
中的akID = 29基本上,取“Billette”并将其改为“B.B”。并且还取“Tony”并将其更改为“TT”。
到目前为止,我想出了这个
SELECT value
FROM `atDefault` AS d
LEFT JOIN `CollectionAttributeValues` AS v ON d.avID = v.avID
WHERE v.akID =29
但我不知道如何将结果值插入CollectionVersions中的“cvName”列...
答案 0 :(得分:1)
使用您从查询中获得的数据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)
。请尝试以下查询 -
{{1}}