【发布时间】:2017-10-07 21:41:58
【问题描述】:
我需要一个 Android 应用程序的 SQLite 查询,但我不太明白。 通过一些研究,我得到了一个可能的解决方案,但我还没有设法让它工作,所以它可能在 SQLite 中不起作用。 我有一个具有以下架构的表:
DAY | PERSON | SCORE
---------------------
1 | PERS1 | A
1 | PERS2 | A
1 | PERS3 | A
1 | PERS4 | B
1 | PERS5 | B
1 | PERS6 | B
2 | PERS1 | C
2 | PERS2 | C
2 | PERS3 | C
2 | PERS4 | C
2 | PERS5 | C
2 | PERS6 | C
我需要一个查询,它为我提供每天具有相同分数的每个人的串联,查询结果以以下格式显示:
DAY | RES_A | RES_B | RES_C
---------------------------------------------------------------------------------
1 | PERS1+PERS2+PERS3 | PERS4+PERS5+PERS6 | NULL
2 | NULL | NULL | PERS1+PERS2+PERS3+PERS4+PERS5+PERS6
只有 3 种可能的结果,因此查询将始终返回相同数量的列。 我一直在为“RES_A”列尝试的解决方案(例如)是这样的:
GROUP_CONCAT(IF(SCORE = 'A', CONCAT('+', PERSON), '') SEPARATOR '') AS 'RES_A'
但是 Java 说“E/SQLiteLog: (1) near "SEPARATOR": syntax error",所以我猜关键字 'SEPARATOR' 对 SQLite 无效。
你能帮我解决这个问题吗?
谢谢
【问题讨论】:
-
您是否考虑过使用 BETWEEN 和 WHERE 来发布您的查询字符串
-
很糟糕,您确实发布了查询字符串,请查看此链接 SEPARATOR not found sqlite.org/lang_keywords.html
标签: android sqlite android-sqlite