这个sql咋写啊

520520java 2011-01-12 10:44:29
表a

用户编码,用户名称,录入时间 指数

001 a 2010-11-01 10
001 a 2010-12-01 15
001 a 2011-01-01 100
002 b 2010-11-01 2
002 b 2010-12-01 15
002 b 2011-01-01 32

表 b
用户编码 金额
001 100
002 50
003 12

查询结果
用户编码 用户名称 金额 指数
001 a 100 100
002 b 50 32

。。。。。。。
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyf2001 2011-01-12
  • 打赏
  • 举报
回复
很简单啊,不过你的是指数是取的最大值,还是最后时间值

如果是最大值,大概是下面的:
select c.用户编码, c.用户名称, b.金额, c.指数 from b join (select 用户编码,用户名称, max(指数) as 指数 from a group by 用户编码,用户名称) as c
on b.用户编码 = c.用户编码

hongqi162 2011-01-12
  • 打赏
  • 举报
回复
select tA.用户编码,tA.用户名称,表B.金额,tA.指数 from(
select * from 表A a
where not exists (select 1 from 表A where a.用户编码 = 用户编码 and 录入时间> a.录入时间)
)tA inner join 表b
where tA.用户编 = 表B.用户编
520520java 2011-01-12
  • 打赏
  • 举报
回复
sqlserver
hongqi162 2011-01-12
  • 打赏
  • 举报
回复
什么数据库?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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