Я прошу наших пользователей заполнить форму NPS. Чаще всего один и тот же человек заполняет форму несколько раз в один и тот же день - и значения не совпадают. Есть 6 вопросов по шкале Лайкерта и один открытый вопрос обратной связи. В настоящее время мы передаем самые последние из нескольких записей из облака маркетинга в облако продаж. Задача состоит в том, чтобы проверить несколько ответов и передать самую последнюю запись, в которой БЫЛИ ответы на вопросы Лайкерта и / или вопросы обратной связи. В настоящее время код выглядит так:
SELECT
ID,
PL_NPSScore,
PL_Q1,
PL_Q1_Type,
IIF(PL_Q1_Response IS NULL OR PL_Q1_Response=' ','NA',PL_Q1_Response) AS PL_Q1_Response,
PL_Q2,
PL_Q2_Type,
IIF(PL_Q2_Response IS NULL OR PL_Q2_Response=' ','NA',PL_Q2_Response) AS PL_Q2_Response,
PL_Q3,
PL_Q3_Type,
IIF(PL_Q3_Response IS NULL OR PL_Q3_Response=' ','NA',PL_Q3_Response) AS PL_Q3_Response,
PL_Q4,
PL_Q4_Type,
IIF(PL_Q4_Response IS NULL OR PL_Q4_Response=' ','NA',PL_Q4_Response) AS PL_Q4_Response,
PL_Q5,
PL_Q5_Type,
IIF(PL_Q5_Response IS NULL OR PL_Q5_Response=' ','NA',PL_Q5_Response) AS PL_Q5_Response,
PL_Q6,
PL_Q6_Type,
IIF(PL_Q6_Response IS NULL OR PL_Q6_Response=' ','NA',PL_Q6_Response) AS PL_Q6_Response,
IIF(PL_Feedback IS NULL OR PL_Feedback=' ','NA',PL_Feedback) AS PL_Feedback,
PL_NPS_SubmissionDate,
GUID
FROM AGT_PL_NPS_Results
WHERE
ID IS NOT NULL
AND PL_NPS_SubmissionDate >= DATEADD(day, -1, GETDATE())
Любая / вся помощь приветствуется. Я думаю, сначала нужно посмотреть дату, а затем go назад через несколько записей, чтобы увидеть, не являются ли вопросы нулевыми ИЛИ не содержат NA (значение по умолчанию, если они не отвечают)
Спасибо,
Мари PS: Я не писал приведенный выше код - а я SQL новичок ie пытаюсь выучить