我想用一个where子句在一个列上加like。但是我需要它使用子查询来搜索多个短语。
这个问题类似于MySQL LIKE IN()?
现在我的查询是这样的。

WHERE hashtag REGEXP 'indiana|iu|bloomington'

但是,我需要在字符串所在的地方执行子查询,因此我的查询将如下所示
WHERE hashtag REGEXP (select name from hashtags where hid = 1)

上面这行显然不起作用,我不确定REGEXP在这种情况下是否是最好的。有没有办法使用LIKE或REGEXP来处理使用子查询的多个字符串?也许有一种更好的方法可以在不使用子查询的情况下实现这一点,我只是暂时看不到。感谢您的帮助和指导。

最佳答案

你可以这样做:

WHERE hashtag REGEXP (select GROUP_CONCAT(name SEPARATOR '|') from hashtags where hid = 1)

关于mysql - 如何使用LIKE或REGEXP对多个短语进行子查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7151700/

10-12 00:20
查看更多