Фильтрация для двух разных значений из одного столбца - PullRequest
0 голосов
/ 27 марта 2019

У меня есть таблица - форма студента, и эта таблица содержит столбцы с различными вопросами, которые вы можете отфильтровать, чтобы получить ответ из столбца ответов. У меня возникла проблема, когда в столбце контрольных вопросов мне нужно задать 2 разных вопроса, чтобы получить ответ, состоящий из одной строки. Поэтому, если я задам вопрос A, я увижу ответ A в столбце, а вопрос B и ответ B отфильтрованы. Я хочу иметь возможность задать вопрос A (студент, зарегистрированный для сдачи экзамена), и ответ в столбце будет (Да), однако я также хочу одновременно задать вопрос B (дата экзамена), который будет указан в столбце ответа как ( 1/01/2019).

Проблема в том, что я задаю Вопрос A, я верну только 1 строку данных = (Да), но я хочу получить дату, когда они сдали экзамен, на который они зарегистрировались (01.01.2009).

Я пытался использовать подзапрос - я думаю, что это сработало, однако я искал только одного ученика, когда я пытаюсь найти больше учеников, для запуска которых требуется целая вечность, и мне нужно бросить выполнение, я думаю, что это больше для из-за того, что мой код написан плохо, или, возможно, подзапрос - не самый лучший способ сделать это

studentform as (select * from (select sf.studentid, sf.answer 
FROM studentform sf
left join cohort c on sf.studentid = c.studentid                      
WHERE sf.formname = 'Student Exam Profile'
and sf.controlquestion = 'Date of exam' 
and sf.title = 'Humanities, Sciences and Engineering'
and sf.section = 'Student information'
and sf.state = 'done'
and sf.studentid in
( select studentid from studentform
where   controlquestion = 'Has student registered for exam?'
and answer =  'Yes'
)) x)

Я ожидаю получить дату 1/01/2019 из столбца ответов, т.е. дату, когда студент записал экзамен, как я уже задавал другой вопрос (зарегистрировался ли студент на экзамен? И ответ из ответа столбец «Да»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...