主题:求SQL语句
xsx [专家分:190] 发布于 2006-07-20 13:56:00
用户欠费资料表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个回复)
沙发
rr5566 [专家分:460] 发布于 2006-07-20 17:32:00
这个还不简单。可以这样实现的。。
selsct *
from 表1 left join 表2 on 表1.号码=表2.号码
板凳
a97191 [专家分:4040] 发布于 2006-07-21 10:17:00
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 楼
a97191 [专家分:4040] 发布于 2006-07-21 10:24:00
简单一些
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 楼
xsx [专家分:190] 发布于 2006-07-21 18:49:00
em1]
5 楼
xsx [专家分:190] 发布于 2006-07-22 15:04:00
各位高手,帮我想想,有没有好办法.
6 楼
quannanquanquan [专家分:30] 发布于 2006-07-24 17:57:00
SELECT 表1.*,表2.200604,表2.200605,表2.200606
FROM 表1 RIGHT OUTER JOIN 表2 ON 表1.号码=表2.号码
7 楼
kdm0514 [专家分:5210] 发布于 2006-07-25 10:13:00
崇拜2楼
8 楼
xsx [专家分:190] 发布于 2006-07-25 12:09:00
a97191,谢谢你解答.
9 楼
a97191 [专家分:4040] 发布于 2006-07-25 13:02:00
不用客气
我来回复