Je pense que cela a quelque chose à voir avec la magie de style user_id que l’explorateur de données fait lorsqu’il les convertit des identifiants bruts en liens utilisables. Si j’exécute votre rapport tel quel, il génère une erreur comme vous le voyez, mais si je supprime t.user_id et t.last_post_user_id de la sélection, cela fonctionne.
Si je les convertis en noms d’utilisateur simples, cela semble également fonctionner correctement via l’automatisation :
WITH
ua AS (
SELECT target_topic_id, COUNT(id) FROM user_actions
WHERE action_type = 15
GROUP BY target_topic_id
)
SELECT
t.id,
t.title,
t.created_at,
t.last_posted_at,
t.views,
t.posts_count,
us.username,
u2.username
FROM topics t
INNER JOIN users us ON us.id = t.user_id
LEFT JOIN ua ON ua.target_topic_id = t.id
JOIN users u2 ON u2.id = t.last_post_user_id
WHERE t.deleted_at IS NULL
AND t.closed = false
AND t.archived = false
AND t.visible = true
AND ua.target_topic_id IS NULL
AND us.username_lower != 'system'
AND t.created_at > now() - INTERVAL '7' DAY
ORDER BY created_at DESC
Bien que nous ayons également contacté quelqu’un de plus compétent pour examiner cela plus en détail.
![]()
Cependant, séparément, je ne suis pas sûr que votre requête fasse ce que vous voulez. Est-ce lié à la solution, car je vois beaucoup de MP dans mes résultats ?