1

我有一个代码,它显示基于自定义适配器的项目列表。显示表格的内容没问题,但是当我需要添加对许多表格的引用时,这是另一回事。在我看来,两种解决方案是可能的:

1)在 setViewValue 中查询数据库(没有过多研究这种可能性)或 2)找到一种方法将列动态关联到我的其他表

(欢迎两者的解决方案)

我有一个主表,其中名为 slug 的列是对其他表的引用。这些其他表包含一些我想计算的数据。

完成查询后,我使用 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;

但我没有抓住重点,如果存在解决方案,它会有点复杂。

可能的解决方法:在表 a 中包含一个计数器

谢谢

4

1 回答 1

0

由于您的表名只能从查询中获得,因此您需要使用动态 SQL,即根据您之前从数据库中获得的值连接 SQL 查询字符串。这充其量是有点笨拙。您可以通过不同的设计使其变得更容易,例如将所有 mytable_x_x 数据存储在一个表中并使用 x_x 作为可以加入的键。然后,您可以在单个查询中获得结果。

于 2010-07-02T01:27:20.513 回答