Android SQLite群_Concat
我需要一个Android应用程序的SQLite查询,但我不太明白。 通过一些研究,我得到了一个可能的解决方案,但我还没有设法使它工作,所以它可能在SQLite中不工作。 我有一个具有以下架构的表:Android SQLite群_Concat,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我需要一个Android应用程序的SQLite查询,但我不太明白。 通过一些研究,我得到了一个可能的解决方案,但我还没有设法使它工作,所以它可能在SQLite中不工作。 我有一个具有以下架构的表: DAY | PERSON | SCORE --------------------- 1 | PERS1 | A 1 | PERS2 | A 1 | PERS3 | A 1 | PERS4 | B 1 | PERS5 | B 1 | PERS6 | B
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在SEPARATOR:syntax error附近说E/SQLiteLog:1,所以我猜关键字SEPARATOR对SQLite无效
你能帮我解答这个问题吗
谢谢你试试这个
选择
白天
作为RES_A的组
从…起
选择
白天
案例
当分数为“A”时,则为个人
结束于康卡特
从您的\u表\u名称
按天分组试试这个
选择
白天
作为RES_A的组
从…起
选择
白天
案例
当分数为“A”时,则为个人
结束于康卡特
从您的\u表\u名称
按天分组使用和第二个参数:
使用和第二个参数:
你有没有考虑过在何处发布你的查询字符串我的错你有没有发布查询字符串查看此链接分隔符未找到你有没有考虑在何处发布你的查询字符串我的错你有没有发布查询字符串查看此链接分隔符未找到
SELECT Day,
group_concat(CASE Score WHEN 'A' THEN Person END, '+') AS Res_A,
group_concat(CASE Score WHEN 'B' THEN Person END, '+') AS Res_B,
group_concat(CASE Score WHEN 'C' THEN Person END, '+') AS Res_C
FROM MyTable
GROUP BY Day;