SQLite - 查询DB一次以生成所需的表而不是多次

时间:2017-01-23 17:19:38

标签: sql sqlite

我正在开发一个小小的工作项目,我需要编写的最终查询自然是最复杂的。我是一个SQL新手,所以任何帮助将不胜感激。相关的架构信息如下:

CREATE TABLE INTERACTIONS(ID TEXT NOT NULL, DATE TEXT, TYPE INT, INFO TEXT)
CREATE TABLE TYPE(ID INT PRIMARY KEY NOT NULL, LABEL TEXT)
CREATE TABLE STUDENTS(ID TEXT NOT NULL, ..., SCHOOL TEXT)

...是其他一些信息,但它与正在执行的查询无关。我试图输出的表格如下所示:

        School1|School2|School3|School4|...|SchoolN
   Type1   0       5       12      3     0     0
   Type2   14      7       0       6     9     15
   Type3   9       4       3       18    7     3
   TypeN   5       5       5       5     5     5

总之,我想创建一个表格,显示每所学校发生的每种交互类型的数量。

我考虑过的一些事情,我想这些可能性,就是为每个学校或每种类型编写单独的查询。举个例子:

SELECT COUNT(*) FROM INTERACTIONS JOIN STUDENTS
ON INTERACTIONS.ID = STUDENTS.ID
WHERE TYPE = 1
ORDER BY STUDENTS.SCHOOL

或者

SELECT COUNT(*) FROM INTERACTIONS JOIN STUDENTS
ON INTERACTIONS.ID = STUDENTS.ID
WHERE SCHOOL LIKE "School Name"
ORDER BY INTERACTIONS.TYPE

我认为可能有一个我可以使用的查询将输出我正在寻找的表,这不需要为每个学校/交互类型编写单独的查询。任何帮助将不胜感激。

0 个答案:

没有答案