Ich bin Administrator eines Discourse-Forums (forum.testproject.io) und möchte Threads filtern, die noch nicht spezifisch von Mitarbeitern beantwortet wurden.
Die URL https://forum.testproject.io/latest?max_posts=1 filtert nur Threads mit 0 Antworten heraus. Ich möchte jedoch alle Threads filtern können, die keine Antwort von unserem Team erhalten haben (der Thread kann bereits Antworten von der Community enthalten und somit eine Antwortzahl > 0 aufweisen, aber das sind keine Antworten von uns).
Hier ein Beispiel aus eurem Forum – hier ist ein Thread, in dem jemand eine Frage gestellt hat und Mitglieder eurer Community geantwortet haben. Wie würdet ihr (Discourse-Mitarbeiter) jedoch wissen, dass dieser Thread im Grunde von euch unbeantwortet ist?
Dafür müssten Sie eine Data-Explorer-Abfrage erstellen. Um die Abfrage zu schreiben, benötigen Sie SQL-Kenntnisse oder müssen wissen, wie man SQL-Abfragen formuliert.
Wenn Ihnen Data Explorer nichts sagt, schauen Sie bitte hier nach:
Wenn Sie noch Fragen dazu haben, wie man eine Data-Explorer-Abfrage schreibt, können Sie ein neues #support-Thema erstellen und es mit data-explorer taggen.
Hallo @osioke,
vielen Dank für die schnelle Antwort!
Ich persönlich habe keine SQL-Kenntnisse. Gibt es jemanden in Ihrem Team, der dabei helfen kann? (Da wir ein zahlender Kunde sind )
Die folgende Abfrage listet alle Themen auf, auf die das Team noch nicht geantwortet hat, auch wenn das Thema bereits eine Antwort von der Community erhalten hat.
--[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