求一条SQL语句的写法

山珊来迟2011 2005-12-10 09:38:54
请教各位大侠一条SQL语句的写法,小弟先谢谢了。


两个表memberinfo、enrollog,为一对多关系。
memberinfo纪录会员基本信息,enrollog纪录会员的升级信息。
memberinfo:
ID号 姓名
001 001
002 002
003 003
004 004

enrollog
ID号 星级 资金 日期
001 1 300 2005-5-24
002 2 1500 2005-5-24
003 2 1500 2005-5-24
004 3 3000 2005-5-24
001 3 2700 2005-6-2
002 4 4500 2005-6-2
004 5 9000 2005-6-9


我要得到的数据:
ID号 姓名 星级 日期
001 001 3 2005-6-2
002 002 4 2005-6-2
003 003 2 2005-5-24
004 004 5 2005-6-9
...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsqkeke 2005-12-10
  • 打赏
  • 举报
回复
哈哈 不好意思 你结贴 我照样写
这是我自己独自想出来的 ;)
lsqkeke 2005-12-10
  • 打赏
  • 举报
回复
create table memberinfo(id1 varchar(5),name1 varchar(5))
create table enrollog(id1 varchar(5),flag int,timedt datetime)

select g.id1,T.name1,g.flag,enrollog.timedt from memberinfo T
join (select ID1,flag=max(flag) from enrollog group by ID1)g on T.ID1=g.ID1
join enrollog on g.ID1=enrollog.ID1 and g.flag=enrollog.flag
zanglinfeng 2005-12-10
  • 打赏
  • 举报
回复
up
caorobby 2005-12-10
  • 打赏
  • 举报
回复
sqlserver群:18477087
caorobby 2005-12-10
  • 打赏
  • 举报
回复
select c.*,enrollog.日期 from enrollog inner join (select memberinfo.*,b.星级 from memberinfo left outer join (select max(星级) as 星级,id号 from enrollog group by id号) b on memberinfo.id号=b.id号) c on (enrollog.id号=c.id号 and enrollog.星级=c.星级)

34,593

社区成员

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

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