Nextcloud Forms应用SQL JOIN关联查询问题求助
正确SQL查询语句及问题分析
问题原因
你之前的查询存在两个核心问题:
- 关联条件不明确:第一个查询的
ON submission_id=oc_forms_v2_answers.submission_id未指定左侧submission_id所属表,数据库无法正确匹配关联字段,导致错误关联产生重复记录。 - 未选择目标字段:两次查询的
SELECT列表仅包含submission_id,自然无法返回oc_forms_v2_answers表的text字段。
正确查询语句
基础版(获取提交ID和对应答案)
SELECT s.id AS submission_id, a.text AS answer_text FROM `oc_forms_v2_submissions` s INNER JOIN `oc_forms_v2_answers` a ON s.id = a.submission_id WHERE s.form_id = 3;
扩展版(包含更多字段)
如果需要获取提交的用户ID、时间戳等额外信息,可以扩展SELECT字段:
SELECT s.id AS submission_id, s.user_id, s.timestamp, a.question_id, a.text AS answer_text FROM `oc_forms_v2_submissions` s INNER JOIN `oc_forms_v2_answers` a ON s.id = a.submission_id WHERE s.form_id = 3;
查询结果示例
根据你提供的数据,基础版查询将返回:
+---------------+-------------+ | submission_id | answer_text | +---------------+-------------+ | 8 | foo | | 9 | bar | | 10 | foo | +---------------+-------------+
内容的提问来源于stack exchange,提问作者mt7
相关产品推荐
相关产品推荐

