mySQL SELECT IN 从字符串 [英] mySQL SELECT IN from string

查看:37
本文介绍了mySQL SELECT IN 从字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的表 X:

id      vals
---------------------
1       4|6|8|

现在表 Y:

id      name
--------------------
1        a
4        b
6        c
8        d

现在我想要以下内容:

select * from Y where id IN (replace(select vals from X where id = '1'),'|',',')

但这似乎不起作用.任何想法为什么?

But this does not seem to work. Any ideas why?

推荐答案

您可以使用 FIND_IN_SET 而不是 IN,普通的 IN 关键字无法在一个字段内的逗号分隔值之间进行搜索.

You may use FIND_IN_SET instead of just IN, normal IN keyword couldn't search between comma seperated values within one field.

例如

mysql> select FIND_IN_SET(4, replace('4|6|8|','|',','));

+-------------------------------------------+
| FIND_IN_SET(4, replace('4|6|8|','|',',')) |
+-------------------------------------------+
|                                         1 |
+-------------------------------------------+
1 row in set (0.00 sec)

这篇关于mySQL SELECT IN 从字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆