사용자 테이블이 있습니다.
|Username|UserType|Points|
|John |A |250 |
|Mary |A |150 |
|Anna |B |600 |
그리고 수준
|UserType|MinPoints|Level |
|A |100 |Bronze |
|A |200 |Silver |
|A |300 |Gold |
|B |500 |Bronze |
그리고 각 사용자의 수준을 얻는 쿼리를 찾고 있습니다. 다음과 같은 내용이 있습니다.
SELECT *
FROM Users U
INNER JOIN (
SELECT TOP 1 Level, U.UserName
FROM Levels L
WHERE L.MinPoints < U.Points
ORDER BY MinPoints DESC
) UL ON U.Username = UL.Username
결과는 다음과 같습니다.
|Username|UserType|Points|Level |
|John |A |250 |Silver |
|Mary |A |150 |Bronze |
|Anna |B |600 |Bronze |
커서를 사용하지 않고 어떻게 할 수 있는지에 대한 아이디어 나 제안이 있습니까?