GAME LEVEL TABLE PLAYER TABLE
------------------------ ------------------------
ID MAX-NOTE STATUT ID PLAYER NOTE
------------------------ ------------------------
1 1000 LEVEL-I 1 PLAYER1 500
2 2000 LEVEL-II 2 PLAYER2 1200
3 3000 LEVEL-A 3 PLAYER3 100
4 4000 LEVEL-B 4 PLAYER4 3500
是否有可能为每个PLAYER做回声STATUT
示例:如果玩家在(0到1000)回声'LEVEL-I'之间有音符
但如果玩家在(1000和2000)之间有音符,则回音LEVEL-II ......
如果您更改了数据库查询,则可以动态生成此信息并将其作为额外列返回,从而完全消除了另一个表:
SELECT ID, PLAYER, NOTE,
(CASE
WHEN NOTE < 1000 THEN 'LEVEL-I'
WHEN NOTE BETWEEN 1000 AND 2000 THEN 'LEVEL-II'
WHEN NOTE > 2000 THEN 'LEVEL-III'
END) LEVEL
FROM table
或者您可以使用这样的子查询:
SELECT ID, PLAYER, NOTE, (SELECT STATUT FROM game_table WHERE NOTE < MAX-NOTE ORDER BY MAX-NOTE DESC LIMIT 1) as LEVEL
FROM table