Bu dokümanda, ServiceDesk Plus üzerinde gönderilen anketlerin kullanıcı bazlı cevaplarını raporlamak için kullanılabilecek özel SQL sorgusu paylaşılmaktadır. Bu sorgu, her kullanıcıya ait gönderim zamanı, cevaplama zamanı, genel sonuç ve tüm soruların yanıtlarını tek bir satırda göstermeyi sağlar.
SELECT
sm.surveyname,
au.first_name,
au.last_name,
TO_TIMESTAMP(srm.sendtime / 1000) AS send_time,
TO_TIMESTAMP(srm.responsetime / 1000) AS response_time,
srm.result,
/* Anket Soruları */
MAX(CASE WHEN sq.questext = 'test1' THEN sqa.answer END) AS anketcevap1,
MAX(CASE WHEN sq.questext = 'test2' THEN sqa.answer END) AS anketcevap2
MAX(CASE WHEN sq.questext = 'test3' THEN sqa.answer END) AS anketcevap3,
MAX(CASE WHEN sq.questext = 'test4' THEN sqa.answer END) AS anketcevap4
FROM survey_response_main srm
JOIN aaauser au
ON au.user_id = srm.userid
JOIN survey_main sm
ON sm.surveyid = srm.surveyid
LEFT JOIN survey_response_answer sqa
ON sqa.responseid = srm.responseid
LEFT JOIN survey_question sq
ON sq.quesid = sqa.quesid
WHERE srm.typeid = 4 -- Genel anketler için
GROUP BY
sm.surveyname,
au.first_name,
au.last_name,
srm.sendtime,
srm.responsetime,
srm.result
ORDER BY
au.first_name,
au.last_name,
srm.responsetime;