0

私はこれを長く困難な方法で行いましたが、より迅速かつ簡単に行うことができることを知っています;)

「puzzle_level」という列がある場合、puzzle_level=5 のレコードごとに 10 ポイント、puzzle_level=6 のレコードごとに 25 ポイント、puzzle_level=7 の場合は 50 ポイントが必要です。

クイック編集、実際にはPHPで変数の合計が必要なので、 $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

これにより、パズルレベルに基づいたポイント数が列の合計ポイント数に追加され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 に答える