Salut @RachFeverBee,
Utiliser une requête Data Explorer serait la meilleure façon de trouver les informations que vous recherchez.
Sur la base des sujets que vous avez partagés et de la description de vos besoins en matière de rapports, voici une requête Data Explorer que vous pourriez utiliser comme point de départ :
Catégories, Sujets et Réponses
-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-01-28
WITH filtered_topics AS (
SELECT
t.id AS topic_id,
t.title AS topic_title,
t.created_at AS topic_created_at,
t.user_id AS topic_user_id,
t.category_id AS topic_category_id
FROM
topics t
WHERE
t.created_at BETWEEN :start_date AND :end_date
),
filtered_posts AS (
SELECT
p.id AS post_id,
p.topic_id,
p.user_id AS post_user_id,
p.created_at AS post_created_at,
p.raw AS post_content,
p.post_number
FROM
posts p
WHERE
p.created_at BETWEEN :start_date AND :end_date
),
categories_with_topics AS (
SELECT
c.id AS category_id,
c.name AS category_name,
ft.topic_id,
ft.topic_title,
ft.topic_created_at,
ft.topic_user_id
FROM
categories c
JOIN
filtered_topics ft ON c.id = ft.topic_category_id
),
final_data AS (
SELECT
cwt.category_name,
cwt.topic_id,
cwt.topic_title,
cwt.topic_created_at,
cwt.topic_user_id,
fp.post_id,
fp.post_content,
fp.post_created_at,
fp.post_user_id,
fp.post_number
FROM
categories_with_topics cwt
LEFT JOIN
filtered_posts fp ON cwt.topic_id = fp.topic_id
)
SELECT
fd.category_name AS "Catégorie",
fd.topic_id AS "ID du sujet",
fd.topic_title AS "Titre du sujet",
fd.topic_created_at AS "Date de création du sujet",
fd.topic_user_id AS "Auteur du sujet",
fd.post_id AS "ID du message",
fd.post_content AS "Contenu du message",
fd.post_created_at AS "Date de création du message",
fd.post_user_id AS "Auteur du message",
fd.post_number AS "Numéro du message"
FROM
final_data fd
ORDER BY
fd.topic_created_at ASC,
fd.post_created_at ASC
Ce rapport générerait les résultats suivants :
- Nom de la catégorie : Nom de la catégorie.
- ID du sujet : ID cliquable du sujet.
- Titre du sujet : Titre du sujet.
- Date de création du sujet : Date de création du sujet.
- Auteur du sujet : Utilisateur qui a créé le sujet.
- ID du message : ID cliquable du message.
- Contenu du message : Texte intégral du message.
- Date de création du message : Date de création du message.
- Auteur du message : Utilisateur qui a créé le message.
- Numéro du message : Le numéro du message dans le sujet.
Exemple de résultats
| Catégorie |
ID du sujet |
Titre du sujet |
Date de création du sujet |
Auteur du sujet |
ID du message |
Contenu du message |
Date de création du message |
Auteur du message |
Numéro du message |
| Discussion générale |
101 |
Bienvenue sur le forum ! |
2023-01-02 10:00:00 UTC |
1 |
201 |
Bonjour à tous, bienvenue ! |
2023-01-02 10:05:00 UTC |
2 |
1 |
| Discussion générale |
101 |
Bienvenue sur le forum ! |
2023-01-02 10:00:00 UTC |
1 |
202 |
Merci pour l’accueil chaleureux ! |
2023-01-02 10:10:00 UTC |
3 |
2 |
| Support technique |
102 |
Comment réinitialiser mon appareil ? |
2023-02-15 14:30:00 UTC |
4 |
203 |
Quelqu’un peut-il m’aider à réinitialiser ceci ? |
2023-02-15 14:35:00 UTC |
4 |
1 |
| Support technique |
102 |
Comment réinitialiser mon appareil ? |
2023-02-15 14:30:00 UTC |
4 |
204 |
Bien sûr, voici les étapes… |
2023-02-15 14:40:00 UTC |
5 |
2 |
| Annonces |
103 |
Nouvelles fonctionnalités publiées ! |
2023-03-01 09:00:00 UTC |
6 |
205 |
Découvrez nos nouvelles fonctionnalités ! |
2023-03-01 09:05:00 UTC |
6 |
1 |
Vous voudrez peut-être ajuster la façon dont la requête ordonne les résultats avec l’instruction ORDER BY à la fin, en fonction de la manière dont vous souhaitez afficher les résultats, et notez également que si votre site a un grand nombre de sujets et de messages, vous devrez peut-être tenir compte des Limites de résultats avec le plugin Data Explorer.