Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用LIKE或REGEXP对子查询多个短语?_Mysql_Sql_Subquery_Where Clause - Fatal编程技术网

Mysql 如何使用LIKE或REGEXP对子查询多个短语?

Mysql 如何使用LIKE或REGEXP对子查询多个短语?,mysql,sql,subquery,where-clause,Mysql,Sql,Subquery,Where Clause,我试图在列上使用带有like的where子句。但是,我需要它使用子查询来搜索多个短语 这个问题类似于 现在我的查询是这样的 WHERE hashtag REGEXP 'indiana|iu|bloomington' 但是,我需要在字符串所在的位置执行子查询,这样我的查询就会是这样的 WHERE hashtag REGEXP (select name from hashtags where hid = 1) 上面这行显然不起作用,我不确定在这种情况下REGEXP是否是最好的。有没有办法使用子查

我试图在列上使用带有like的where子句。但是,我需要它使用子查询来搜索多个短语

这个问题类似于

现在我的查询是这样的

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)

您还可以在REGEXP上加入:

SELECT mt.hashtag, ht.name
  FROM mytable mt
  JOIN hashtags ht
    ON mt.hashtag REGEXP ht.name
 WHERE ht.hid = 1;