注册 登录
编程论坛 SQL Server论坛

[求助]关于 inner join 的语句问题请教

thjaxd 发布于 2007-02-04 14:28, 861 次点击

有个语句请教一下大家:
我有2006年12个月的工资表,每个表中有数据纪录有2600条以上,数据结构相同,字段20多个吧,想找出每个表中24个人的如下字段(岗薪,奖金,实发),也就是某24人的12个月工资,输入到1个新表之后结构为:id,name,岗薪1,奖金1,实发1,岗薪2,奖金2,实发2,……,岗薪12,奖金12,实发12。
我的写法是:
select gzb1.id,gzb1.name,
gzb1.岗薪 岗薪1,gzb1.奖金 奖金1,gzb1.实发 实发1,
gzb2.岗薪,gzb2 岗薪2.奖金 奖金2,gzb2.实发 实发2,
……,
gzb12.岗薪 岗薪12,gzb12.奖金 奖金12,gzb12.实发 实发12
into gz24
from gzb1
inner join gzb2 on (gzb1.id=gzb2.id),
inner join gzb3 on (gzb1.id=gzb3.id),
……
inner join gzb12 on (gzb1.id=gzb12.id)
where gzb1.id in (123,456,789,……,)
但是有这样的问题,有的人并不是满12个月的工资,这样连接之后,会是少于24人的纪录,有什么办法解决这个问题么?

2 回复
#2
棉花糖ONE2007-02-04 14:54
改成left join ,试试
#3
thjaxd2007-02-04 14:59
left join 会不会出现重复纪录啊?我试试的吧。
谢谢了

[此贴子已经被作者于2007-2-4 15:00:02编辑过]

1