【发布时间】:2019-07-17 14:49:00
【问题描述】:
我创建了一个查询,它返回survey 表中不属于survey_completion 并且属于user_Id = 1 的所有调查:
我的功能查询是:
SELECT *
FROM `survey`
WHERE id NOT IN (
SELECT `survey_id`
FROM `survey_completion`
WHERE `user_id` = 1)
在此查询的结果中,我想选择表 question 中的每一行,其中行 question.survey_id = survey.id 并将其作为 JSON 响应中的 questionsList 键返回
我将此添加到查询中,但它不起作用:
AND (SELECT *
FROM question
WHERE question.survey_id = survey.idas) AS questionsList
MariaDB 在 AS 前缀上返回错误,我无法修复此问题
有人知道我该如何解决这个问题吗?
提供更多详情
我想要返回的查询是:
id: 1
name: 'test'
questionsList [
{
id: 1
survey_id: 1
question: 'How are you?'
}
]
目前我的表survey 的行数为id, name,我的表question 的行数为id, survey_id, question, user_id
所以,我想附加到每个具有 survey_id 相同 ID 的问题 survey,将此列表作为 JSON 中的新嵌套列表获取并返回键名 questionsList
编辑:听说 UNION 会这样做,这对我来说有用,但两个表有不同的列吗?
【问题讨论】:
-
没有看到查询,任何人都无能为力。
-
@GordonLinoff 抱歉,不得不编辑问题,因为 StackOverFlow 拒绝了我的问题,我不知道为什么
-
你想得到什么?用户 1 未完成调查的所有问题?
-
@Arth 我正在尝试获取用户 1 未完成调查的所有问题,并将它们作为 JSON 中的嵌套键附加到查询结果(SELECT * 调查)。我正在编辑主帖,让您查看我的数据库表的架构
-
您能否编辑您的帖子并在表格结构中添加一些数据:
survey、survey_completion和question?