假设有两个表
表A:
**Middle_name**
John
Joe
Fred
表B:
**Full_name**
Billy, Joe-Bob
JasonFredAnderson
Tom John Jefferson
我想加入Middle_name
和Full_name
上的表。
我已经尝试过使用部分字符串匹配,如下所示,但这没有用。由于某些原因,它与全名不匹配,中间名前没有逗号。使用postgres。
SELECT Full_name, Middle_name
FROM B
JOIN A
ON B.Full_name LIKE CONCAT('%', A.Middle_name, '%')
重申一下,由于Fred
在John
之前有逗号,因此上述查询将正确地连接Joe
和Billy, Joe-Bob
,但不能正确地连接Joe
。>
答案 0 :(得分:2)
我相信您可以通过以下方式使用POSITIION()函数来做到这一点:
SELECT Full_name, Middle_name
FROM B
JOIN A
ON POSITION(Middle_name IN Full_name)>0