2张表,一张是人员表,但是会有版本的概念(versionnum),我只想要最大的那笔,请问如何写,谢谢[REFNumber_AdminUser] UserPrid Process
1 Oliver xx NULL
2 Harry xx NULL
3 Zero xx NULL[MDM_UserProfile]UserPRID VersionNum
Oliver 1
Joan 1
Harry 2我用的语句select UserPRID,VersionNum from dbo.MDM_UserProfile where userPrid
COLLATE Chinese_PRC_CI_AS in
(select [UserPRID] from [REFNumber_AdminUser] where [Process]='xx' )
ORDER BY VersionNum DESC得到结果
Harry 2
Oliver 1
Harry 1我只希望获得 VersionNum最大的那笔数据,请问该如何写
1 Oliver xx NULL
2 Harry xx NULL
3 Zero xx NULL[MDM_UserProfile]UserPRID VersionNum
Oliver 1
Joan 1
Harry 2我用的语句select UserPRID,VersionNum from dbo.MDM_UserProfile where userPrid
COLLATE Chinese_PRC_CI_AS in
(select [UserPRID] from [REFNumber_AdminUser] where [Process]='xx' )
ORDER BY VersionNum DESC得到结果
Harry 2
Oliver 1
Harry 1我只希望获得 VersionNum最大的那笔数据,请问该如何写
解决方案 »
- 这个触发器怎么实现呢
- sql 根据月来填充季度
- 多次调用存储过程好不好
- SQL事务
- sql 判断是否存在同名,不存在就添加,是分开两个存储过程呢,还是一个好呢,利用返回值来区分添加是否成功和是否同名
- 求一sql写法
- 如何写这样一个SQL语句
- SQL2005执行计划百分比超出100%了什么原因啊?求解
- Oracle 有没有SQL SERVER的IDENTITY 函数?
- 一台数据库服务器有200个数据库,能做双机热备吗,镜像的话有个数限制,跑不起来,有什么好方法
- Sql server 2005 两个实例如何分别对应一个单独的IP地址?
- GridView、FormView等控件如何连接数据库中的多个表?
b.*
from
[REFNumber_AdminUser] a,[MDM_UserProfile] b
where
a.UserPrid=b.UserPrid
and
UserPrid=(select max(UserPrid) from [REFNumber_AdminUser] where UserPrid=a.UserPrid)
COLLATE Chinese_PRC_CI_AS in
(select [UserPRID] from [REFNumber_AdminUser] where [Process]='API' )
group by UserPRID知道了,感谢
b.*
from
[REFNumber_AdminUser] a,[MDM_UserProfile] b
where
a.UserPrid=b.UserPrid
and
VersionNum=(select max(VersionNum) from [REFNumber_AdminUser] where UserPrid=a.UserPrid)
select UserPRID,max(VersionNum)
from MDM_UserProfile
group by UserPRID
join
(
select UserPRID,VersionNum from [MDM_UserProfile] where
VersionNum in(select max(VersionNum) from [MDM_UserProfile])
) M
on U.UserPrid=M.UserPRID