xdrn.net
当前位置:首页 >> mysql怎么把sElECt出来的某个字段用逗号分隔组成一个值 >>

mysql怎么把sElECt出来的某个字段用逗号分隔组成一个值

FIND_IN_SET(str,strlist)函数str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录!

select a.*,b.*from a left join b on find_in_set(b.id,a.zd1)

1、将传递过来的值进行分割 用,分割成数组例如:$var=explode(",",$str);2、循环数组3、在循环内查询sql查询时候 有两种方法 按照sql语法或者php语法sql 用 find_in_set(str1,str2);php 用 strpos(str1,str2,start);具体语法格式自己搜索一下吧.

查询出来再插入不行吗? 在java代码中新建一个list,将num的值split(“,”) 循环这个顺组,生成新的list 然后插入表中!

dim tempstrsql="select * from A"set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1 if rs.eof and rs.bof thenresponse.write "数据库记录为空"response.endend ifdo while not rs.eoftempstr=tempstr&","&rs("users") //假设你的存放张三 李四的字段名为usersrs,.movenextloopresponse.write tempstr

select * from xxx表 where find_in_set('16',youruser_id); find_in_set返回的是前字符在后字符里的位置

我试了,导出的数据本来是有换行符号的,但是是linux格式的换行符.用记事本打开是没法看到换行符,所以内容都连成了一行.所以你可以有两个办法:1.用editplus打开文件去查看.2.用查询拼个可视分隔符在后面:select CONCAT(name, '|') from table into outfile '/test.txt';还是推荐你用editplus等这些比较专业的编辑器,windows自带的那个记事本除了换行有问题,要是遇上utf8编码的文件也会显示乱码,最好不要用它做数据处理

可用copysubstring函数.创建测试表及数据:2113create table test(id varchar(10));insert into test values ('123abc');insert into test values ('456def');insert into test values ('789ghi');执行5261:select substring(id,1,3) +','+substring(id,4,3) as id from test结果截图:也就显4102示成了用逗号分隔的样1653子.

试试下面这句行不select name from B where id find_in_set(id,select sevice from A where id=1)

思路:先拆开后插入临时表中,再distinct 去重,再连接起来插入至你的表中.可以把这个写成个方法,调用.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.xdrn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com