mysql - SELECT * FROM tbl WHERE clm LIKE CONCAT ('%' ,<other sql query LIMIT 1> ,'%' ) - 怎么做?

标签 mysql sql sql-like

如何将这两个查询合并为一个?

1) 这会找到狗 (犬) 的日文符号:

SELECT japanese 
  FROM edict 
 WHERE english LIKE 'dog' 
 LIMIT 1;

2) 这会找到所有带有“狗”(犬) 符号的日语单词:

SELECT japanese 
  FROM edict 
 WHERE japanese LIKE '%犬%';

3) 我无法将这两者合二为一,因为这行不通?!

SELECT japanese 
FROM edict 
WHERE japanese
LIKE CONCAT('%',
    SELECT japanese FROM edict WHERE english LIKE 'dog' LIMIT 1,'%'
);

最佳答案

括号很重要,因此,试试这个:

SELECT japanese
FROM edict
WHERE japanese LIKE CONCAT('%', 
                           (SELECT japanese FROM edict WHERE english LIKE 'dog' LIMIT 1), 
                           '%');

不过,最好告诉我们您收到了什么错误。

关于mysql - SELECT * FROM tbl WHERE clm LIKE CONCAT ('%' ,<other sql query LIMIT 1> ,'%' ) - 怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4005251/

相关文章:

php - 将数据保存在相关表中 Symfony 4

php - 为什么这个 SQL 不正确(MySQL)?

SQL 日期条件

Mysql:如何在对给定字符串执行 LIKE 之前删除列中除字母和数字之外的所有内容

MySQL 在与 LIKE 匹配之前合并列

where 子句中带有 like %..% 的 mysql 查询返回不同的结果

java - Java中使用SQL删除记录

php - 如何在 php 中 move_uploaded_file 时重命名文件?

php - 如何在数据库中每行创建一个有效的删除/更新按钮

sql - T-SQL : multiple usage of CTE alias - not only in outer query