2010-07-01 69 views
0

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

1)查询里面setViewValue数据库(没调查过这种可能性) 或 2)找到了一种动态的列关联到我的其他表

(解决方案都欢迎)

我有一个主表,其中一列名为slu is是对其他表的引用。这些其他表格包含一些我想要统计的数据。

一旦我有我的查询,我使用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一个 UNION SELECT COUNT(*)FROM A.slug;

但我错过了一点,如果解决方案存在,它会更复杂一点。

可能的解决方法:包括表中的一个柜台一个

谢谢

回答

0

因为你的表名称只能从查询得到,你需要使用动态SQL,即串联的SQL查询字符串基于您以前从数据库中获得的值。这最好是有点笨拙。你可以通过不同的设计来简化它,例如将所有mytable_x_x数据存储在单个表中,并使用x_x作为可以加入的键。然后你可以在一个查询中得到结果。

+0

谢谢你的回答,我现在正在做一个预先查询来得到slu and,它运作良好 – Kevin 2010-07-16 10:24:45