red*_*x05 5 java sql sqlite android
有以下问题:尝试从表中显示与会者列表.表A是通过将来自Web源(HTML抓取)的数据"同步"到表A中生成的.
表A
列:eventID,userID,userName
数据:1,111,
Harry
2,222,Ben
3,534,Helen
2,534,Helen
2,545,James
最终结果
我试图在活动中显示如下:
社交1:出席者:哈里
社交2:出席者:本,海伦,詹姆斯
社交3:出席者:海伦
最好的方法是怎样做的?
我的初步计划:
1)在表A的eventID上运行带有Group By的SQL select(Query1)
.2)循环执行步骤1中的
每个结果.3)对于Query 1的每个结果结果,选择tableA中的所有行eventID(调用查询2)
4)循环执行步骤3查询2的结果,并为每个结果将用户名添加到字符串缓冲区.在查询2结果的末尾,将eventID与生成的StringBuffer一起插入到新表中:
表B:
列:eventID,userName
数据:
1,"Harry"
2,"Ben,Helen,James"
3,"Helen "
然后使用表B中的数据和SimpleCursorAdapter,使用数据填充标准ListActivity,生成所有事件的列表,以及逗号分隔的与会者列表.然后每次重新生成表A时,清除表B中的数据,并重新填充它.
问题:
这是最好的方式/最好吗?我真的不喜欢有一个临时表来做这件事.
背景:我是Android开发人员的新手,并且自从几年前在大学工作以来刚刚再次开始使用Java.我在编程方面的优势在于HTML,PHP,MySQL.
额外信息:为表A收集数据的方式是,页面被删除,其中包含特定用户的所有事件.然后我的目标是以相反的方式显示这一点,通过显示每个事件,所有参加的用户.
我很感激有关如何实现这一目标的一些帮助/意见.非常感谢!
难道你不能尝试下面这样的东西吗?
SELECT
eventID,
userID,
GROUP_CONCAT(userName, ",") AS users
FROM table_a
GROUP BY eventID
Run Code Online (Sandbox Code Playgroud)
因此,您可以通过单个查询获取所有数据.
了解更多GROUP_CONCAT.
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |