0

私はいくつかのテーブルを備えたAndroidのSQLiteデータベースを持っています、それらの1つはこれです:

trainings (date TEXT, exercise TEXT, repetitions INTEGER, weight REAL)

重みには2つのインデックスがあり、繰り返しは両方ともASCです。

これが問題です。繰り返しによる順序のselectステートメントで、次のようなものが得られました。

Select * from trainings WHERE exercise='"+exercise+"' AND repetitions != '-' AND repetitions != 0 ORDER BY COALESCE( weight, date);

0
0
0
12
13
25
-
-

私のアプリでは、0と'-'を同じものとして扱い、この2つのデータをまとめて注文する必要があるため、'-'の結果を最後ではなく最初に配置できるかどうかを知りたいです。 。

助言がありますか?前もって感謝します

4

1 に答える 1

1

任意の値を他の任意の値に変換するには、CASE 式を使用します。このようなもの:

... ORDER BY
      CASE COALESCE(weight, date)
        WHEN '-' THEN 0
        ELSE          COALESCE(weight, date)
      END
于 2012-09-20T20:34:43.003 に答える