在sql中连接数据并不完全匹配的表

时间:2015-01-20 19:34:02

标签: sql sql-server-2008

我正在使用SQL Server 2008,我想要加入两个表。我在下面提供了一些显示我的数据外观的内容。我想加入给定列上的两个表,但是如何使用表B中数字前面的“ID”来执行此操作?我在考虑对连接进行修剪,但我不知道该怎么做。

像...一样的东西。

Select *                    
From TableA AS A          
Left Join TableB AS B        
On A.ColumnA = B.ColumnB         

但这不起作用,因为数字并不完全匹配。

TableA ColumnA   
123        
456        
789        

TableB ColumnB              
ID123                  
ID456                    
ID789                   

我希望我说得够清楚。有什么建议?

1 个答案:

答案 0 :(得分:2)

SQL Fiddle Demo

select *
from tableA a
join tableB b 
  on 'ID' + cast(columnA as varchar(5)) = b.columnB