मेरे पास उपयोगकर्ताओं की एक तालिका है:
|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 |
क्या किसी के पास कोई विचार या सुझाव है कि मैं यह कैसे कर सकता हूं कि वह बिना शापियों का सहारा लिए बिना ऐसा कर सके।