回 帖 发 新 帖 刷新版面

主题:求SQL语句

用户欠费资料表1:                      用户欠费资料表2:
号码     200601   200602  200603       号码      200604   200605   200606
8880000   12.55    56.00   81.56       8880000   112.55   11.00    47.56
8880001   10.00    20.00   5.00        8880001   110.00   210.00   55.00
8880002   20.55    36.00   41.33       8880002   240.55   136.00   141.33
                                       8880003   10.00    25.00    33.00
我想得到的结果是:
号码     200601   200602  200603   200604   200605   200606
8880000  12.55    56.00   81.56    112.55   11.00    47.56
8880001  10.00    20.00   5.00     110.00   210.00   55.00      
8880002  20.55    36.00   41.33    240.55   136.00   141.33 
8880003   0         0       0      10.00    25.00    33.00
请问,任何实现?

回复列表 (共9个回复)

沙发

这个还不简单。可以这样实现的。。
selsct * 
from 表1 left join 表2 on 表1.号码=表2.号码

板凳

declare @t table(号码 char(20),aa numeric(9),bb numeric(9),cc numeric(9))
insert into @t select 8880000,12.55,56.00,81.56
union all select 8880001,10.00,20.00,5.00 

union all select 8880002,20.55,36.00,41.33   

declare @a table(号码 char(20),dd numeric,ee numeric,ff numeric)
insert into @a select 8880000,112.55,11.00 ,47.56

union all select 8880001,110.00,210.00,55.00
union all select 8880002,240.55,136.00,141.33   
union all select 8880003,10.00,25.00,33.00
select a.号码,aa=(select aa from @t t where t.号码=a.号码),
bb=(select bb from @t t where t.号码=a.号码),cc=(select cc from @t t where t.号码=a.号码),a.dd,a.ee,a.ff from @a a

3 楼

简单一些
select a.号码,t.aa,t.bb,t.cc,a.dd,a.ee,a.ff from @a a left outer join @t t on a.号码=t.号码

4 楼

em1]

5 楼

各位高手,帮我想想,有没有好办法.

6 楼

SELECT 表1.*,表2.200604,表2.200605,表2.200606
FROM 表1 RIGHT OUTER JOIN 表2 ON 表1.号码=表2.号码

7 楼

崇拜2楼

8 楼

a97191,谢谢你解答.

9 楼

不用客气

我来回复

您尚未登录,请登录后再回复。点此登录或注册