1

カスタム アダプターに基づいてアイテムのリストを表示するコードがあります。テーブルのコンテンツを表示するのは問題ありませんが、多くのテーブルへの参照を追加する必要がある場合は別の問題です。私の観点では、2つの解決策が可能です。

1) setViewValue 内でデータベースにクエリを実行する (この可能性についてあまり調査していない) または 2) 列を他のテーブルに動的に関連付ける方法を見つける

(両方の解決策は大歓迎です)

スラッグと呼ばれる列が他のテーブルへの参照であるメインテーブルがあります。これらの他のテーブルには、数えたいデータが含まれています。

クエリを取得したら、SimpleCursorAdapter を使用して Android で適切なリストを表示します (例: 1024 (2 ref)、2048 (3 ref)...)。

少しスキーマが私の説明よりもおそらく優れていると思います。

Table: A
-----------------------
_id    | slug | value |
-----------------------
1      | a_a  | 1024  |
2      | g_z  | 2048  |
-----------------------


Table: mytable_a_a
----------------
_id    | value |
----------------
1      | xxx   |
2      | yyy   |
----------------

Table: mytable_g_z
----------------
_id    | value |
----------------
1      | xxx   |
2      | yyy   |
3      | zzz   |
----------------


The goal is to produce something like

-------------------------------
_id    | slug | value | count
-------------------------------
1      | a_a  | 1024  | 2
2      | g_z  | 2048  | 3
...

私は次のようなことを試しました:

SELECT * FROM A UNION SELECT COUNT(*) FROM A.slug;

しかし、私はその点を見逃しており、解決策が存在する場合、それはもう少し複雑になります。

考えられる回避策: テーブルにカウンターを含めます

ありがとうございました

4

1 に答える 1

0

テーブル名はクエリからのみ取得できるため、動的 SQL を使用する必要があります。つまり、以前にデータベースから取得した値に基づいて SQL クエリ文字列を連結します。これはせいぜい少し不器用です。たとえば、すべての mytable_x_x データを 1 つのテーブルに格納し、結合できるキーとして x_x を使用するなど、別の方法で設計することで、これをはるかに簡単にすることができます。その後、単一のクエリで結果を取得できます。

于 2010-07-02T01:27:20.513 に答える