Soy administrador de un foro de Discourse: forum.testproject.io y quiero filtrar los temas que aún no han sido respondidos específicamente por miembros del personal.
La URL https://forum.testproject.io/latest?max_posts=1 filtra únicamente los temas con 0 respuestas; sin embargo, quiero poder filtrar cualquier tema que no haya recibido una respuesta de nuestro personal (el tema ya podría tener respuestas de la comunidad, mostrando así respuestas > 0, pero esas no son nuestras respuestas).
Aquí hay un ejemplo de su foro: este es un tema donde alguien hizo una pregunta y personas de su comunidad respondieron. Pero, ¿cómo sabrían ustedes (el personal de Discourse) que este tema está básicamente sin respuesta por su parte?
Necesitarías crear una consulta para Data Explorer y, para escribir la consulta, necesitarías conocimientos de SQL o saber cómo escribir consultas SQL.
La consulta a continuación enumera todos los temas que no han sido respondidos por el personal, incluso si el tema ya ha recibido una respuesta de la comunidad.
--[params]
--date :start_date = 2021-01-01
--date :end_date = 2021-12-31
SELECT t.id topic_id, category_id
FROM topics t
WHERE t.deleted_at IS NULL
AND t.category_id IS NOT NULL
AND t.created_at::date BETWEEN :start_date AND :end_date
AND t.id NOT IN (
SELECT p.topic_id
FROM posts p
JOIN users u ON p.user_id = u.id
WHERE u.admin = 't' OR u.moderator = 't'
AND p.post_number > 1
)
ORDER BY topic_id DESC