我有一个由其他视图组成的数据库视图,它有一个用户和他们当前的认证级别。
诀窍是用户可以从旧系统中携带较旧的认证,并且在几个月后到期之前,我必须考虑到这一点。
3级认证分别为“初学者”、“专家”和“大师”
在大多数情况下,用户要么拥有旧系统的认证,要么已获得新系统的某种级别的认证,在这种情况下,我有他们的认证级别,没有问题。然而,有极少数情况会导致用户从遗留系统中获得了“专家”,但在新系统中已经完成了“大师”。在这种情况下,我希望将他们的认证级别设置为“大师”,因为这是两者中较高的。
任何想法如何从视图中实现这一目标?
列是“UserId”、“UserFirstName”、“UserLastName”和“CertificationLevel”
我尝试过 case 语句、临时表和 if 语句,但似乎无法得到我需要的东西。
逻辑很简单:如果一个用户的行数超过 1 行,则取最高级别的认证并丢弃另一行。
非常感谢您的任何建议