这个问题仍在继续here,因为他们不想在不打开新内容的情况下回答。
这是我的表格:
customer_profiles
friend_levels
所以我有一个查询可以获得他的等级,所以当他得到points = 168
然后他会得到Great Friend
所以这就是我已经拥有的SQL
SELECT s.*
FROM customer_profiles t
INNER JOIN friend_levels s ON(t.friend_points >= s.points_needed)
WHERE s.points_needed = (SELECT max(f.points_needed)
FROM friend_levels f
WHERE t.friend_points >= f.points_needed)
AND t.user_id = $user_id
并且结果如此
所以我的问题是如何获得它的下一个值才能像这样使用它?对于前者如果我处于Great Friend
级别,那么我必须获得Best Friend
级别。
答案 0 :(得分:1)
这应该很简单:
SELECT (SELECT min(fl.points_needed)
FROM friend_levels fl
WHERE fl.points_needed > cp.friend_points) - cp.friend_points AS points_needed_for_next_level
FROM customer_profiles cp
WHERE cp.user_id = $user_id;