数据RoleWorkNo 这行有重复数据 保留FlowNO最大的这行,其他重复的数据不要,sql怎么改,谢谢大家!
SELECT A.TypeCode,A.TypeName,
B.FlowNo,B.RoleCode,
C.RoleName,C.RoleName_JP,C.OptAccess,
D.DeptId,D.RoleWorkNo,D.WorkNoGrant
FROM OA_FlowDefinition A,
OA_WorkFlowDefinition B,
OA_RolesName C,
OA_OrgRoles D
WHERE A.TypeCode='p000'
and A.TypeCode=B.TypeCode
and B.RoleCode=C.RoleCode
and C.RoleCode=D.RoleCode
and DeptId=216
ORDER BY FlowNo ASC
sql
SELECT A.TypeCode,A.TypeName,
B.FlowNo,B.RoleCode,
C.RoleName,C.RoleName_JP,C.OptAccess,
D.DeptId,D.RoleWorkNo,D.WorkNoGrant
FROM OA_FlowDefinition A,
OA_WorkFlowDefinition B,
OA_RolesName C,
OA_OrgRoles D
WHERE A.TypeCode='p000'
and A.TypeCode=B.TypeCode
and B.RoleCode=C.RoleCode
and C.RoleCode=D.RoleCode
and DeptId=216
ORDER BY FlowNo ASC
sql
解决方案 »
- 帮忙修改一下存储过程,谢谢!
- xp_cmdshell打开网页问题
- SQL XML
- 将一个具有多个Join和Group by大量字段的SQL语句分成两个相对简单的SQL 语句,那种情况效率高一些?
- 在sql server 2000 中怎么把字符类型转化为整形,反之那?
- 帮我,【为您冲话费】您们好,遇到难题了,表单多条数据,插入不成功,变成逗号相连在一个字段了,今天坐等5小时
- 循环冗余检查
- 对象名 'Text;FMT=Delimited;HDR=Yes;DATABASE=C:\.1#csv' 无效。
- 如果写的SQl函数返回的字符大于4000个字符该怎么办?
- 求助:SQL 的invalid blob length是怎么回事?
- 同时判断两个条件的IN怎么写
- 求指导贴,如何拆分SQL数据表(415列)
WITH cte
AS ( SELECT A.TypeCode ,
A.TypeName ,
B.FlowNo ,
B.RoleCode ,
C.RoleName ,
C.RoleName_JP ,
C.OptAccess ,
D.DeptId ,
D.RoleWorkNo ,
D.WorkNoGrant
FROM OA_FlowDefinition A ,
OA_WorkFlowDefinition B ,
OA_RolesName C ,
OA_OrgRoles D
WHERE A.TypeCode = 'p000'
AND A.TypeCode = B.TypeCode
AND B.RoleCode = C.RoleCode
AND C.RoleCode = D.RoleCode
AND DeptId = 216
ORDER BY FlowNo ASC
)
SELECT *
FROM cte a
WHERE EXISTS ( SELECT 1
FROM ( SELECT RoleWorkNo ,
MAX(FlowNO) FlowNO
FROM cte
GROUP BY RoleWorkNo
) b
WHERE a.RoleWorkNo = b.RoleWorkNo
AND a.FlowNO = b.FlowNO )
;
WITH cte 这个是什么意思啊?麻烦您了
SELECT A.TypeCode,A.TypeName,
B.FlowNo,B.RoleCode,
C.RoleName,C.RoleName_JP,C.OptAccess,
D.DeptId,D.RoleWorkNo,D.WorkNoGrant
FROM OA_FlowDefinition A,
OA_WorkFlowDefinition B,
OA_RolesName C,
OA_OrgRoles D
WHERE A.TypeCode='p000'
and A.TypeCode=B.TypeCode
and B.RoleCode=C.RoleCode
and C.RoleCode=D.RoleCode
and DeptId=216
ORDER BY FlowNo ASC
----查询#tb表
Select t1.*
From #tb as t1
Where not Exists (
Select *
From #tb as t2
Where t1.RoleWorkNo = t2.RoleWorkNo
And t1.FlowNo < t2.FlowNo
)
OptAccess,DeptId,RoleWorkNo,WorkNoGrant
from
(SELECT A.TypeCode,
A.TypeName,
B.FlowNo,
B.RoleCode,
C.RoleName,
C.RoleName_JP,
C.OptAccess,
D.DeptId,
D.RoleWorkNo,
D.WorkNoGrant,
row_number() over(partition by RoleWorkNo order by FlowNo desc) 'rn'
FROM OA_FlowDefinition A,
OA_WorkFlowDefinition B,
OA_RolesName C,
OA_OrgRoles D
WHERE A.TypeCode='p000'
and A.TypeCode=B.TypeCode
and B.RoleCode=C.RoleCode
and C.RoleCode=D.RoleCode
and DeptId=216) t
where t.rn=1