0

我已经完成了漫长而艰难的过程,但我知道它可以更快更容易地完成;)

如果我有一个名为“puzzle_level”的列,我希望每条puzzle_level = 5的记录有10分,如果puzzle_level = 6,每条记录有25分,如果puzzle_level = 7,则为50分;

快速编辑,我实际上需要 PHP 中的 varialbe total,所以它是 $total_points = $sql_formula

4

2 回答 2

3

您可以简单地使用条件CASE表达式来做到这一点:

SELECT 
    points + 
    CASE puzzle_level 
        WHEN 5 THEN 10 
        WHEN 6 THEN 25 
        WHEN 7 THEN 50 
    END AS totalpoints
FROM your_table

这会将基于uzzle_level 的点数添加到points列中的总点数中。

然后,只需'totalpoints'在 PHP 中引用该列。

于 2012-07-15T08:42:44.920 回答
2
UPDATE `table`
SET `points` =
  IF `puzzle_level` = 5 THEN 10
    ELSEIF `puzzle_level` = 6 THEN 25
    ELSEIF `puzzle_level` = 7 THEN 50
  END IF
于 2012-07-15T08:44:02.990 回答