首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

多表合并,们帮忙。节日愉快

2012-02-09 
多表合并,大虾们帮忙。节日愉快!表A主叫被叫10591222222222138333333333013844444444455555555566666666表B

多表合并,大虾们帮忙。节日愉快!
表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


A.*,
E.注释
From
A
Left Join
(Select 区号, 注释 From B
Union All
Select 号段, 注释 From C
Union All
Select 号码, 注释 From D
) E
On CharIndex(A.被叫, E.区号) > 0
[解决办法]
個人認為椄主表A設計得不合理
應該把手機號、座機號、其他號(如55555555)分類存儲

热点排行