我需要写一些我想称之为Valley Girl查询的内容。我需要SELECT
LIKE IN
的东西 - 这样的东西:
SELECT * FROM Table1 WHERE Name LIKE IN(SELECT Name FROM Table2)
原因是我有一张满是公司名称的表,但它们并不完全相同 - f.ex.在表1中,它可能会说“克莱斯勒集团”,而在表2中它可能只是说“克莱斯勒”。
有没有简单的方法可以做到这一点?
答案 0 :(得分:2)
select
*
from
Table1 t1
inner join Table2 t2 on (t1.name like t2.name + '%')
如果您愿意,可以或没有'%'标志:)
答案 1 :(得分:1)
这是你可以做到的一种方式:
SELECT t1.*
FROM Table1 t1
JOIN Table2 t2 ON t1.Name LIKE t2.Name + '%'
答案 2 :(得分:0)
我想:
SELECT * FROM table1 WHERE EXISTS (SELECT Name FROM Table2 WHERE Table1.Name LIKE Name)
答案 3 :(得分:0)
如果您尝试创建一个紧密匹配列表,那么当可能有可疑的拼写时,SOUNDEX功能会很有用。
SELECT T1.*
FROM Table1 T1
JOIN Table2 T2 ON SOUNDEX(T1.Name) = SOUNDEX(T2.Name)