Olá @RachFeverBee,
Usar uma consulta do Data Explorer seria a melhor maneira de encontrar as informações que você procura.
Com base nos tópicos que você compartilhou e na descrição de suas necessidades de relatórios, aqui está uma consulta do Data Explorer que você pode usar como ponto de partida:
Categorias, Tópicos e Respostas
-- [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 "Categoria",
fd.topic_id AS "ID do Tópico",
fd.topic_title AS "Título do Tópico",
fd.topic_created_at AS "Tópico Criado Em",
fd.topic_user_id AS "Autor do Tópico",
fd.post_id AS "ID da Postagem",
fd.post_content AS "Conteúdo da Postagem",
fd.post_created_at AS "Postagem Criada Em",
fd.post_user_id AS "Autor da Postagem",
fd.post_number AS "Número da Postagem"
FROM
final_data fd
ORDER BY
fd.topic_created_at ASC,
fd.post_created_at ASC
Este relatório geraria os seguintes resultados:
- Nome da Categoria: Nome da categoria.
- ID do Tópico: ID clicável para o tópico.
- Título do Tópico: Título do tópico.
- Tópico Criado Em: Data de criação do tópico.
- Autor do Tópico: Usuário que criou o tópico.
- ID da Postagem: ID clicável para a postagem.
- Conteúdo da Postagem: Texto completo da postagem.
- Postagem Criada Em: Data de criação da postagem.
- Autor da Postagem: Usuário que criou a postagem.
- Número da Postagem: O número da postagem dentro do tópico.
Exemplo de Resultados
| Categoria | ID do Tópico | Título do Tópico | Tópico Criado Em | Autor do Tópico | ID da Postagem | Conteúdo da Postagem | Postagem Criada Em | Autor da Postagem | Número da Postagem |
|---|---|---|---|---|---|---|---|---|---|
| Discussão Geral | 101 | Bem-vindo ao Fórum! | 2023-01-02 10:00:00 UTC | 1 | 201 | Olá a todos, bem-vindos! | 2023-01-02 10:05:00 UTC | 2 | 1 |
| Discussão Geral | 101 | Bem-vindo ao Fórum! | 2023-01-02 10:00:00 UTC | 1 | 202 | Obrigado pelas boas-vindas! | 2023-01-02 10:10:00 UTC | 3 | 2 |
| Suporte Técnico | 102 | Como redefinir meu dispositivo? | 2023-02-15 14:30:00 UTC | 4 | 203 | Alguém pode me ajudar a redefinir isso? | 2023-02-15 14:35:00 UTC | 4 | 1 |
| Suporte Técnico | 102 | Como redefinir meu dispositivo? | 2023-02-15 14:30:00 UTC | 4 | 204 | Claro, aqui estão os passos… | 2023-02-15 14:40:00 UTC | 5 | 2 |
| Anúncios | 103 | Novos Recursos Lançados! | 2023-03-01 09:00:00 UTC | 6 | 205 | Confira nossos novos recursos! | 2023-03-01 09:05:00 UTC | 6 | 1 |
Você pode querer ajustar como a consulta ordena os resultados com a instrução ORDER BY no final, dependendo de como deseja visualizar os resultados, e também observar que, se seu site tiver um grande número de tópicos e postagens, você pode precisar ter em mente os Limites de Resultados com o plugin Data Explorer.