小编Apo*_*nis的帖子

MYSQL:LIKE(子查询)返回许多行

以下代码正常工作.

SELECT Message
FROM SystemEventsR
WHERE Message
LIKE CONCAT('%',(SELECT username FROM users LIMIT 1),'%')
Run Code Online (Sandbox Code Playgroud)

我的问题是,大多数时候我需要返回多行.

我省略LIMIT,导致'错误代码1242'

为什么是这样?

我需要包含至少一个用户名的所有邮件

我也使用了JOIN但无济于事

SELECT Message
FROM SystemEventsR
JOIN users ON Message LIKE CONCAT('%',(SELECT username FROM users),'%')
Run Code Online (Sandbox Code Playgroud)

我想要类似下面这样的东西,但用户表中的行数不是常量

SELECT Message
FROM SystemEventsR
WHERE 
Message LIKE CONCAT('%',(SELECT username FROM users LIMIT 1,1),'%') OR
Message LIKE CONCAT('%',(SELECT username FROM users LIMIT 2,1),'%') OR
Message LIKE CONCAT('%',(SELECT username FROM users LIMIT 3,1),'%')
Run Code Online (Sandbox Code Playgroud)

mysql rows subquery sql-like

1
推荐指数
1
解决办法
3322
查看次数

标签 统计

mysql ×1

rows ×1

sql-like ×1

subquery ×1