在MySql数据库中,我有一个产品列表,我被要求从每个产品中取值WHERE fie_id=2
,并将其插入值WHERE fie_id=6
,以获得相同的pro_id
< / p>
pro_id fie_id value
1 12 Kingston
1 11 kingston
1 10 Kingston
1 6 Late
1 1 Susceptible
1 7 N/A
1 9 feed
1 2 Medium bittersharp
1 5 Somerset late 19th C
1 3 Mid
2 9 Culinary
2 2 Sharp
2 5 Devon 19th C
2 1 resistance
2 7 To Feb
2 6 Very late
2 3 3
2 10 .JPG
2 11 jpg
我花了很多时间阅读CONCAT
,并相信这可能是我需要使用的,但我真的很难弄明白。我在正确的道路上吗?如果没有,有人可以指出我正确的方向。
所以我最终得到了
pro_id fie_id value
1 12 Kingston
1 11 kingston
1 10 Kingston
1 6 Late, Medium bittersharp
1 1 Susceptible
1 7 N/A
1 9 feed
1 5 Somerset late 19th C
1 3 Mid
2 9 Culinary
2 5 Devon 19th C
2 1 resistance
2 7 To Feb
2 6 Very late, Sharp
2 3 3
2 10 .JPG
2 11 jpg
答案 0 :(得分:0)
您需要执行表连接自身的更新查询。
UPDATE details INNER JOIN
(
SELECT pro_id, value FROM details WHERE fie_id = 2
) det
ON details.pro_id = det.pro_id
SET details.value = CONCAT(details.value, ",", det.value)
WHERE details.fie_id = 6;
请参阅this sql fiddle。