Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android sqlite交叉表_Java_Android_Sqlite - Fatal编程技术网

Java Android sqlite交叉表

Java Android sqlite交叉表,java,android,sqlite,Java,Android,Sqlite,有什么更好的替代方案可以通过Android/java在Sqlite中生成交叉表 我有: 如何做到这一点?SQLite没有任何内置函数将行转换为列 您必须首先读取GLASSES表,然后根据该数据动态创建另一个查询,如下所示: 选择名称, 选择数量 人们戴着眼镜 其中idpeople=人。\u id 和idglass=1 作为黑人, 选择数量 人们戴着眼镜 其中idpeople=人。\u id idglass=2 蓝色, 选择数量 人们戴着眼镜 其中idpeople=人。\u id idglass=

有什么更好的替代方案可以通过Android/java在Sqlite中生成交叉表

我有:


如何做到这一点?

SQLite没有任何内置函数将行转换为列

您必须首先读取GLASSES表,然后根据该数据动态创建另一个查询,如下所示:

选择名称, 选择数量 人们戴着眼镜 其中idpeople=人。\u id 和idglass=1 作为黑人, 选择数量 人们戴着眼镜 其中idpeople=人。\u id idglass=2 蓝色, 选择数量 人们戴着眼镜 其中idpeople=人。\u id idglass=3 由于灰色, 选择数量 人们戴着眼镜 其中idpeople=人。\u id idglass=4 黄色 来自人们
明确你问题的意图…你到底想要什么。。???我想你想使用连接表,是吗…??不是。连接不能将行转换为列。这不是很有效。如果我的桌子增加了,你会如何更有效地完成?
[TABLE people]
<i>_id, NAME
1, "mary"
2, "juan"
3, "jose"</i>

[TABLE GLASSES]
_id, COLOR
1, "BLACK"
2, "BLUE"
3, "GRAY"
4, "YELLOW"
...

[TABLE PEOPLE_GLASSES]
_id, idpeople, idglass, qty
1, 1, 1, 50
2, 1, 3, 30
3, 1, 4, 25
...
[crosstab]
NAME   | BLACK | GRAY | YELLOW
"mary" | 50    | 30   | 25
...