MySql的选择,替换,INSTR

马尼沙

我有两个不直接相关的表:datalocations下面的列

locations : id (serial number) name and code

data : locCodes其中包含定界的位置代码列表,如“ | loc1 | loc2 | loc3 |”

我想将locCodein替换dataidfrom locations我尝试一下,但无法成功。

这个查询似乎正确,但是我实际上无法正确完成更新。

SELECT REPLACE( data.locCodes , CONCAT('|', location.code, '|'), CONCAT('|',     location.id, '|'))
FROM data, location
WHERE INSTR(data.locCodes, CONCAT('|', location.code, '|')) > 0

参见http://sqlfiddle.com/#!2/02379/3

UPDATE data
SET locCodes = (SELECT REPLACE( data.locCodes , CONCAT('|', location.code, '|'), CONCAT('|', location.id, '|'))
FROM data, location
WHERE INSTR(data.locCodes, CONCAT('|', location.code, '|')) > 0);

引发关于FROM的错误。MySql非常新,任何指导都值得赞赏。

普拉哈拉德·加加(Prahalad Gaggar)

Manisha,我不知道如何在Mysql中实现以下T-SQL。

给我一些时间来找到一种方法,(在两者之间,您也可以尝试转换)

SQL服务器

select id,locCodes,
    (
        select '|'+cast(l.id as varchar)
        from location l
        where d.locCodes LIKE '%|'+l.code+'|%'
        for xml path('')
    )
    +'|' as abc
from data d
group by id,locCodes

MSSQL答案小提琴

的MySQL

SELECT  data.*,
(
  SELECT concat('|',Replace(GROUP_CONCAT(location.id ),',','|'),'|')
  FROM location
  WHERE find_in_set(location.code, replace(trim(replace(data.locCodes,'|',' ')),' ',','))
) as locCodes1
FROM data

MySQL答案小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL条件选择替换查询

来自分类Dev

MySQL SQL选择查询并替换值

来自分类Dev

选择Concat子字符串并在MySQL中替换

来自分类Dev

MySQL选择前3个字符并替换

来自分类Dev

运行选择并替换

来自分类Dev

替换提示并阻止选择

来自分类Dev

MySQL选择带有替换文本的列,该列等于一个值

来自分类Dev

MySQL查询-从2个表中选择数据并替换字段内容

来自分类Dev

在mySql中使用正则表达式选择和替换数据

来自分类Dev

MySQL 在 true 时选择条目并在 false 时替换为 null

来自分类Dev

MySQL INSTR帮助仅搜索匹配更多文本的1行

来自分类Dev

MySQL INSTR - 匹配精确的子字符串

来自分类Dev

选择中的MySQL选择

来自分类Dev

在选择更改时替换href

来自分类Dev

用等级替换子选择

来自分类Dev

elisp函数替换选择

来自分类Dev

选择并替换跨度内的文本

来自分类Dev

如何替换以前选择的文件?

来自分类Dev

jQuery Selectric(选择替换)验证

来自分类Dev

选择文本并替换为for循环

来自分类Dev

替换“选择文件”的文本栏

来自分类Dev

MySQL替换多个值

来自分类Dev

替换MySQL的URL模式

来自分类Dev

使用通配符替换的MySQL

来自分类Dev

MYSQL替换数字值

来自分类Dev

MySQL通配符替换

来自分类Dev

替换多个值-MySQL

来自分类Dev

MySQL Regex替换查询

来自分类Dev

如果在表2中存在MySQL,请从表1中选择所有数据,并通过ID从表2中选择替换值