所以我有一个student_profiles表和排名表,我希望根据学生排名获得下一个排名。例如,我的排名是5,那么下一排名将是排名6.所以这是我的排名结构。
RANKS TABLE:
SELECT * FROM RANKS WHERE style_id = 1"
id style_id level name type primary_colour secondary_colour
1 1 1 Newbie double #4e90b2 #3aad04
22 1 2 Normal solid #fba729 NULL
31 1 3 Expert solid #4e805b NULL
这是 STUDENT_PROFILES TABLE
id | student_id | rank_id
------------------------------------
1 | 1 | 36
2 | 4 | 22
3 | 7 | 10
所以我有一个变量是student_id
,rank_id
& style_id
例如,我有这个值student_id = 4
,rank_id = 22
& style_id = 1
它应该返回
id style_id level name type primary_colour secondary_colour
31 | 1 | 3 | Expert | Solid | #4e805b | NULL
答案 0 :(得分:1)
尝试:
SELECT * FROM `ranks` WHERE `level` > (SELECT `level` FROM `ranks` WHERE `id` = rank_id) LIMIT 1
但我认为这不是一个非常有效的解决方案。