在LIKE中使用的MySQL查询结果
我正在尝试编写一个查询,以从字段中的一个大型用户名列表中提取包含用户名的所有行 例如,该表包含一个名为“Worklog”的列,其中包含用户及其用户名的注释。我需要在该字段中搜索列表中包含的所有用户名 我尝试了一些不同的方法,但都没有成功。到目前为止,这是我尝试过的:在LIKE中使用的MySQL查询结果,mysql,Mysql,我正在尝试编写一个查询,以从字段中的一个大型用户名列表中提取包含用户名的所有行 例如,该表包含一个名为“Worklog”的列,其中包含用户及其用户名的注释。我需要在该字段中搜索列表中包含的所有用户名 我尝试了一些不同的方法,但都没有成功。到目前为止,这是我尝试过的: SELECT * FROM `JULY2010` WHERE `WorkLog` IN ( SELECT CONCAT( '%', `UserName` , '%' ) FROM `OpsAnalyst`
SELECT *
FROM `JULY2010`
WHERE `WorkLog`
IN (
SELECT CONCAT( '%', `UserName` , '%' )
FROM `OpsAnalyst`
)
问题是我需要使用LIKE,因为它搜索大量文本,但我也有一个很大的列表,它从中提取,并且该列表需要是动态的,因为在这里工作的人经常变化。有什么想法吗?我稍微修改了这个,并使用了GROUP_CONCAT,现在我的查询如下:
SELECT *
FROM `JULY2010`
WHERE `WorkLog` REGEXP
(SELECT CONCAT( `UserName`, '|')
FROM `OpsAnalyst`)
SELECT *
FROM JULY2010
WHERE `WorkLog`
REGEXP (
SELECT GROUP_CONCAT(`UserName` SEPARATOR '|') FROM `OpsAnalyst`
)
我现在得到了一个结果集,但它似乎没有我应该得到的那么多结果。我需要进一步研究一下,找出问题所在为什么需要使用like?你不能把这两张桌子连在一起吗?看看这个答案。meybe regexp help you@Tim我没有任何可以加入表的东西。没有公共列。也许我误解了你的回答?我对SQL有点陌生,到目前为止,我所尝试的一切都与我在谷歌搜索有类似问题的人时发现的不同。我在执行此查询时遇到了以下错误:1242-子查询返回的行数超过1行