两表查询问题?

KcSoft 2006-05-26 11:46:32
两个表结构一样,有下面的数据
TABEL1
xm xb nyd
李一 男 20050301
李一 男 20050404
何一 女 20030303
陈三 男 20040405
陈三 男 20040604
江动 男 20050505

TABLE2 (nyd肯定会比TABLE1的大)

xm xb nyd
李一 男 20060301
何一 女 20060303
何一 女 20060405
陈三 男 20060604

我想用Group by 得到下面的结果,即同姓名、性别的只要日期最近的记录

xm xb nyd
江动 男 20050505
李一 男 20060301
何一 女 20060405
陈三 男 20060604



...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyrongg 2006-05-27
  • 打赏
  • 举报
回复
create table tb1(xm nvarchar(10),xb nvarchar(2),nyd nvarchar(15))
create table tb2(xm nvarchar(10),xb nvarchar(2),nyd nvarchar(15))
insert into tb1 select N'李一',N'男','20050301'
union all select N'李一',N'男','20050404'
union all select N'何一',N'女','20030303'
union all select N'陈三',N'男','20040405'
union all select N'陈三',N'男','20050604'
union all select N'江动',N'男','20050505'

insert into tb2 select N'李一',N'男','20060301'
union all select N'何一',N'女','20060303'
union all select N'何一',N'女','20060405'
union all select N'陈三',N'男','20060604'
select a.xm,a.xb,max(a.nyd) as byd from
(
select * from tb1
union
select * from tb2
) a
group by a.xm,a.xb
order by max(a.nyd)

drop table tb1,tb2
--------------------
江动 男 20050505
李一 男 20060301
何一 女 20060405
陈三 男 20060604

34,593

社区成员

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

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