select *
from AllUK
where exists (select * from AllCompanies where replace(AllUK.mobile,' ','')=replace(AllCompanies.mobile,' ',''))
我需要将AllCompanies表中的列包含在我的第一个选择中。我怎么能这样做?
答案 0 :(得分:1)
select *
from AllUK a
join AllCompanies b
on a.mobile = b.mobile
exists是一个布尔运算,因此如果有任何记录可以在2个表中连接,则上面的子句将始终返回所有结果。很难说出你真正想要实现的目标。
此外,将字符串操作放在存在和连接中的列上并不是最佳实践,因为编译器必须对每一行进行操作。列在运行时。可能最好创建一个临时表来保存替换的值,然后加入它。