问个弱的查询问题

outh 2006-01-05 11:59:18
有两张表a,b
都有id这一项
关系是1对多,即a中id唯一,b中有多个id值相同的行。
现在想选取a.id=b.id且对同一个id值只选择b中的一行。
问该如何写,谢~~

例:
a:id
1
2
3

b:index id
1 1
2 1
3 1
4 2
5 3

结果:id index
1 3
2 4
3 5

...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujx_1999 2006-01-05
  • 打赏
  • 举报
回复
select ID,max(index) from 表b group by ID
OracleRoob 2006-01-05
  • 打赏
  • 举报
回复

create table #a([id] int)
create table #b([id] int, [index] int)
go
insert into #a([id]) values(1)
insert into #a([id]) values(2)
insert into #a([id]) values(3)

insert into #b([id],[index]) values(1,1)
insert into #b([id],[index]) values(1,2)
insert into #b([id],[index]) values(1,3)
insert into #b([id],[index]) values(2,4)
insert into #b([id],[index]) values(3,5)
go

select #a.id, t.[index]
from #a inner join (select id,max([index]) as [index] from #b group by id) t
on #a.id=t.id


drop table #a,#b

/*
结果

id index
1 3
2 4
3 5

*/
OracleRoob 2006-01-05
  • 打赏
  • 举报
回复
--上边改点

select a.id, b.index
from a inner join (select id,max(index) as index from b group by id) t
on a.id=t.id
OracleRoob 2006-01-05
  • 打赏
  • 举报
回复

select a.id, b.index
from a inner join (select id,max(index) as index from b group by id) t
on a.id=b.id

34,590

社区成员

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

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