أعتقد أن الأمر يتعلق بالسحر من نوع user_id الذي يقوم به مستكشف البيانات عند تحويلها من معرفات عادية إلى روابط قابلة للاستخدام. إذا قمت بتشغيل تقريرك كما هو، فسيحدث خطأ تمامًا كما تراه، ولكن إذا قمت بإزالة كل من t.user_id و t.last_post_user_id من SELECT، فسيتم العمل.
إذا قمت بتحويلها إلى أسماء مستخدمين عادية، فستعمل أيضًا بشكل صحيح من خلال الأتمتة:
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
على الرغم من أننا قمنا أيضًا بإبلاغ شخص أكثر معرفة لإلقاء نظرة بمزيد من التفصيل.
![]()
على الرغم من ذلك، بشكل منفصل، لست متأكدًا مما إذا كان استعلامك يفعل ما تريد. هل يتعلق الأمر بالحل بطريقة ما، حيث أرى الكثير من رسائل PM في نتائجي؟