两表联接分组排序问题!

luluso 2009-07-01 11:20:52
有两个表,表A和表B
A表中
sfzno(身份证号) yjny(应缴年月)
XXXX 200801
XXXX 200802
XXXX 200803
DDDD 200801

B表中

sfzno(身份证号) sjny(实缴年月) je(金额)
XXXXX 200801 100
XXXXX 200803 50
DDDDD 200801 120
DDDDD 200802 70

排列号变参成:
sfzno yjny sjny je

xxxx 200801 200801 100
xxxx 200802 null null
xxxx 200803 200803 50

谢谢,应该怎查询排序呢?
...全文
74 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2009-07-01
  • 打赏
  • 举报
回复
create table A(sfzno varchar(18), yjny varchar(6))
insert into a values('XXXX' , '200801')
insert into a values('XXXX' , '200802')
insert into a values('XXXX' , '200803')
insert into a values('DDDD' , '200801')
create table b(sfzno varchar(18), sjny varchar(6),je int)
insert into b values('XXXX', '200801' , 100 )
insert into b values('XXXX', '200803' , 50)
insert into b values('DDDD', '200801' , 120)
insert into b values('DDDD', '200802' , 70 )
go

select a.sfzno,a.yjny,b.sjny,b.je
from a left join b
on a.sfzno = b.sfzno and a.yjny = b.sjny
order by a.sfzno,a.yjny

drop table a , b
/*
sfzno yjny sjny je
------------------ ------ ------ -----------
DDDD 200801 200801 120
XXXX 200801 200801 100
XXXX 200802 NULL NULL
XXXX 200803 200803 50

(所影响的行数为 4 行)
*/
--小F-- 2009-07-01
  • 打赏
  • 举报
回复
select a.*,b.sjny,b.je
from a left join b
on a.sfzno = b.sfzno and a.yjny = b.sjny
JonasFeng 2009-07-01
  • 打赏
  • 举报
回复
SELECT A.*,B.sjny,B.JE 
FROM A LEFT JOIN B ON A.sfzno = B.sfzno
dawugui 2009-07-01
  • 打赏
  • 举报
回复
select a.sfzno,a.yjny,b.sjny,b.je
from a left join b
on a.sfzno = b.sfzno and a.yjny = b.sjny
--小F-- 2009-07-01
  • 打赏
  • 举报
回复
left join

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧