複数のカラムを持つ単一のローを返すクエリを、1つまたは複数のカラムを持つ複数のローに変換しようとしています。例として、私のクエリが可視化され、次のようになります。SQLiteカラムをローにする
SELECT _id, value1, value2, value3, value4 FROM table WHERE _id IS 1;
結果:
_id value1 value2 value3 value4
----------------------------------------
1 10 11 12 13
私は私の結果を持っていると思いますが、以下のようになります。
name value
--------------
value1 10
value2 11
value3 12
value4 13
が、私はすることもできます次のようなもので作業してください:
value
-----
10
11
12
13
現在、AndroidのMatrixCursorを使ってこれを手動で変換していますが、カーソルをすでに使用可能な状態にするのが理想的です。目的のスキーマで結果を取得するためにクエリを変更する方法や、目的の終了状態を達成するために一時テーブルのようなものを使用する方法がありますか?
また、この機能をデータベース内に記述するための共通用語はありますか?
一時的にしたい場合は、名前と値の両方が必要な場合は、リストまたはマップに結果を簡単に保存できます。 –
IDを繰り返すことはできません。ユニークでなければなりません。したがって、複数の行に同じIDを割り当てることはできません。 –
Darshanの返答をありがとう、私はすでにMatrixCursorに結果を格納していますが、CursorAdaptorを使用すると複雑さが増します。最も簡単な方法は、選択したデータを優先レイアウトにマッサージすることです。私のMatrixCursorは既に機能していますが、私はより洗練されたソリューションを探しています。 @Vladそれは良い点ですが、私はすでに値を知っているのでIDを保持することに大変興味はありません(私はそれを使って質問しています)。しかし、主なポイントは、各結果の列をそれぞれ新しい行として追加することです。 –