我想检查数据库某个单元格中的字符串是否是同一行另一个单元格中字符串的一部分。

下面的例子更清楚。假设我的表是这样的:

+---------+-----------------+
|  Name   |     Couple      |
+---------+-----------------+
| Mark    | Mark & Thomas   |
| Chris   | Thomas & Logan  |
| Patrick | Logan & Patrick |
| Thomas  | Chris & Mark    |
| Logan   | Patrick & Chris |
+---------+-----------------+

那么我的查询结果必须是这样的:
+---------+-----------------+
|  Name   |     Couple      |
+---------+-----------------+
| Mark    | Mark & Thomas   |
| Patrick | Logan & Patrick |
+---------+-----------------+

因为 Mark 和 Patrick 是 Couple 字段中字符串的一部分。

我试了一下,但我认为这不是正确的方法:
Select * from table where Couple like %Name%

感谢您的回答!

最佳答案

您的语法很接近,您可以使用:

Select name, couple
from yt
where Couple like concat('%', Name, '%');

SQL Fiddle with Demo

关于MYSQL:如何检查字符串是否包含同一行中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16713012/

10-12 17:08