日期:2014-05-18  浏览次数:20498 次

多表合并,大虾们帮忙。节日愉快!
表A
主叫                     被叫
1               059122222222
2                 13833333333
3               013844444444
4                       55555555
5                       66666666


表B
区号                   注释
0591                   福州
....


表C            
号段                     注释
1383333               北京
1384444               上海
.....

表D
号码                     注释         用户         地址           联系人  
55555555             aa               dd             ff                   f
66666666             bb               dfg             gsd                 dsd
.....
 
结果

表AAA
 
主叫                     被叫                           注释  
1               059122222222                       福州
2                 13833333333                       北京
3               013844444444                       上海
4                       55555555                         aa
5                       66666666                         bb
   
求:     1     得出   表AAA的语句
            2     如何在     表B(几百个数据)     表C(十万左右数据,字段“号段”   都不一样的数据)     表D(一百万左右数据     字段   “号码”   有少数一样)   创建索引让得出表AAA的速度快些  


感谢大虾们!     节日愉快!




------解决方案--------------------
select 区号,注释 into #t from B
Union All
select 号段,注释 from C
Union All
select 号码,注释 from D

select 主叫,被叫,注释=(select min(注释) from #t where 被叫 like '% '+区号+ '% ') from A

drop table #t
------解决方案--------------------
第一个问题抢答了,第二个问题看不明白!
------解决方案--------------------
求: 1 得出 表AAA的语句

---------
可以不用臨時表。

Select