1

在 MySql 数据库中,我有一个产品列表,我被要求WHERE fie_id=2从每个产品中获取值并将其插入到WHERE fie_id=6相同的值中pro_id

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
4

1 回答 1

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;

看到这个 sql fiddle

于 2013-11-08T11:09:23.257 回答