我正在尝试使用整个列而不是特定字符或通配符对两个表进行部分匹配 SELECT
。
我有两个表(T1、T2)和两个列(T1.C1、T2.C2)。当 C1 和 C2 的格式完全匹配时,我能够在 SELECT
上获得返回值,但是,C2 将包含来自 C1 的文本字符串的文本串在一起。
因此,这里有两个表中格式化字符的几个示例:
T1.C1
- 母鹿,约翰
- 史密斯,史蒂夫
- 罗伯茨,莎莉
T2.C2
- #Doe、John、Thekid、Billy、随机组 A
- 随机 B 组,Smith,Steve# Jones,Allie
- #Roberts, Sally!Random GroupC, etc.
当在 T2.C2 中找到来自 T1.C1 的 'Doe, John' 时,我想要做的是匹配,即使在该表中它的格式为 '#Doe, John, Thekid, Billy, Random Group A '
这是我用来获得精确匹配的方法...
SELECT *
FROM T1, T2
WHERE T1.C1 LIKE CONCAT('%', T2.C2 , '%');
最佳答案
关于
SELECT *
FROM T1, T2
WHERE T2.C2 LIKE CONCAT('%', T1.C1 , '%');
? 即,T2.C2 包含 T1.C1 中的字符串。
关于mysql - 如何在整个列上使用 LIKE 进行选择,但不需要完全匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439891/