sql2008 怎么根据数据源匹配归属地

现有归属地数据源表2


列1                列2                列3

7位号码池             省                  市

``

需要匹配的表1


acd列

15898742658


怎么把表1的号码,匹配上表2的省和城市,在存到新表3

sql server有一个操作叫做insert into 表名 select。将查询结果存到一张表里,所以你只要写个联合查询表一和表二然后存到新表3

--测试数据
use Tempdb
go
if not object_id(N'Tempdb..#tab1') is null
    drop table #tab1
Go
Create table #tab1([acd] VARCHAR(20))
Insert #tab1
select 15898742658 union all
select 15898732658 union all
select 15898722658
Go

if not object_id(N'Tempdb..#tab2') is null
    drop table #tab2
Go
Create table #tab2([col1] VARCHAR(20),[col2] nvarchar(22),[col3] nvarchar(22))
Insert #tab2
select 1589874,N'江西',N'吉安' union all
select 1589873,N'江西',N'南昌' union all
select 1589872,N'江西',N'赣州'
Go
--测试数据结束


--INSERT INTO tab3(col1,col2,col3)  --如果表tab3存在,则取消注释这一条
SELECT a.acd,b.col2,b.col3
--INTO tab3 --如果表tab3不存在,则取消注释这条
FROM #tab1 AS a
INNER JOIN #tab2 AS b ON left(a.acd,7)=b.col1

图片说明