我的问题的 SQL 查询是什么?
What would be the SQL query for my problem?
我需要帮助 SQL 在 android 应用程序中查询房间。有 table 个问题。此 table 有 3 列:
id 问题id_sub_cateory
此外还有 table_sub_categories 以下列:
id sub_category id_category
和table_categories:
id 类别id_subject
另外还有一个table_subject:
id 主题 id_questionnaire
最后但并非最不重要的 table_questionnaire:
id 问卷
现在我想要一个 SQL 查询来获取以下信息:
table_questionnaire.id table_questionnaire.questionnaire questionCount subjectCount
所以基本上是一个列表,其中列出了所有问卷,包括问题数量和主题。 SQL 的查询是什么?
编辑:到目前为止我已经使用了这个查询:
SELECT table_questionnaire.id AS 'id', table_questionnaire.questionnaire_name AS 'name', " +
"COUNT(table_question.id_questionnaire) AS 'questionCount', COUNT(DISTINCT table_question.subject) AS 'subjectCount' " +
"FROM table_questionnaire " +
"LEFT JOIN table_question ON table_questionnaire.id = table_question.id_questionnaire GROUP BY table_questionnaire.id"
但是这个是旧版本,因为我保存了每个问题,ID是问卷、主题、类别和sub_category。我认识到这些信息是多余的。现在我只保存sub_category的ID。但现在我必须更改查询。我只是不知道怎么办!?
这是有效的查询:
SELECT
table_categories.id,
table_categories.id_subject,
table_categories.category,
table_sub_categories.id AS 'id_sub_category',
table_sub_categories.id_category,
table_sub_categories.subCategory,
COUNT(id_category) AS 'questionsCount'
FROM table_question
LEFT JOIN table_sub_categories ON table_question.id_sub_category = table_sub_categories.id
LEFT JOIN table_categories ON table_categories.id = id_category
WHERE table_categories.id_subject = :subjectID
GROUP BY table_categories.id
我需要帮助 SQL 在 android 应用程序中查询房间。有 table 个问题。此 table 有 3 列:
id 问题id_sub_cateory
此外还有 table_sub_categories 以下列:
id sub_category id_category
和table_categories:
id 类别id_subject
另外还有一个table_subject:
id 主题 id_questionnaire
最后但并非最不重要的 table_questionnaire:
id 问卷
现在我想要一个 SQL 查询来获取以下信息:
table_questionnaire.id table_questionnaire.questionnaire questionCount subjectCount
所以基本上是一个列表,其中列出了所有问卷,包括问题数量和主题。 SQL 的查询是什么?
编辑:到目前为止我已经使用了这个查询:
SELECT table_questionnaire.id AS 'id', table_questionnaire.questionnaire_name AS 'name', " +
"COUNT(table_question.id_questionnaire) AS 'questionCount', COUNT(DISTINCT table_question.subject) AS 'subjectCount' " +
"FROM table_questionnaire " +
"LEFT JOIN table_question ON table_questionnaire.id = table_question.id_questionnaire GROUP BY table_questionnaire.id"
但是这个是旧版本,因为我保存了每个问题,ID是问卷、主题、类别和sub_category。我认识到这些信息是多余的。现在我只保存sub_category的ID。但现在我必须更改查询。我只是不知道怎么办!?
这是有效的查询:
SELECT
table_categories.id,
table_categories.id_subject,
table_categories.category,
table_sub_categories.id AS 'id_sub_category',
table_sub_categories.id_category,
table_sub_categories.subCategory,
COUNT(id_category) AS 'questionsCount'
FROM table_question
LEFT JOIN table_sub_categories ON table_question.id_sub_category = table_sub_categories.id
LEFT JOIN table_categories ON table_categories.id = id_category
WHERE table_categories.id_subject = :subjectID
GROUP BY table_categories.id