Ich glaube, es hat etwas mit der user_id-Magie zu tun, die der Daten-Explorer macht, wenn er sie von bloßen IDs in benutzbare Links umwandelt. Wenn ich Ihren Bericht so ausführe, wie er ist, gibt er einen Fehler aus, genau wie Sie ihn sehen. Aber wenn ich sowohl t.user_id als auch t.last_post_user_id aus der SELECT-Anweisung entferne, funktioniert er.
Wenn ich diese in einfache Benutzernamen umwandle, scheint es auch über die Automatisierung ordnungsgemäß zu funktionieren:
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
Wir haben jedoch auch jemanden mit mehr Wissen gebeten, sich das genauer anzusehen.
![]()
Obwohl ich separat nicht sicher bin, ob Ihre Abfrage das tut, was Sie wollen. Hat es etwas mit der Lösung zu tun, da ich viele PMs in meinen Ergebnissen sehe?