mysql更新嵌套的一个字段

时间:2015-08-25 14:19:45

标签: mysql nested

我有以下问题。我需要在字段中使用另一个表中的值进行替换。示例:

/* if portrait mode is detected, rotate the entire site -90 degrees to hint rotating to landscape */
@media (orientation: portrait) {
  body {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
}

Mysql查询是:

Table1

id     |   value
=====================================
AAAAA    '10,40,100,200,300,400,500,600'


Table2

valueold | valuenew
===================
10          95
40          30
500         250

The expected result :

id     |   value
=====================================
AAAAA    '95,30,100,200,300,400,250,600'

此查询仅更新de first record ...任何想法。 感谢

1 个答案:

答案 0 :(得分:0)

所有ID的可能解决方案。

select @id:=id,@val:=value, (select @val:=trim(',' from concat_ws(',',substring_index
    (@val,',',find_in_set(valueold,@val)-1),valuenew,substring(@val,
    length(substring_index(@val,',',find_in_set(valueold,@val)) )+2) )) as result
    from table1 inner join table2 on find_in_Set(valueold,@val)
    where id=@id
    order by valueold asc
   limit 0,1
) as sub,
@id,@val
from table1

子查询“sub”的结果不好,但@val结束时它是好的,我想这是在子查询中重新计算的。 更新表的这句话很慢但是运行。