Ich kenne nicht einmal ein bisschen SQL… aber wäre es möglich, eine Abfrage zu erstellen, die mir Themen anzeigt, in denen ich erwähnt wurde, aber auf die ich nach der Erwähnung nicht reagiert habe? (Ich stelle mir diesen Teil als knifflig vor, falls er überhaupt möglich ist.)
Themen, in denen der Nutzer erwähnt wurde, aber nach der Erwähnung nicht geantwortet hat
-- [params]
-- user_id :user
WITH mentions AS (
SELECT target_topic_id, target_post_id, created_at
FROM user_actions
WHERE action_type = 7 -- Erwähnungen
AND user_id = :user
), replies AS (
SELECT topic_id, MAX(created_at) created_at
FROM posts
WHERE user_id = :user
AND deleted_at IS NULL
AND post_type IN (1, 4) -- regulär ODER Flüstern
GROUP BY topic_id
)
SELECT DATE(m.created_at) erwähnt_am, target_post_id post_id
FROM mentions m
LEFT JOIN replies r ON r.topic_id = m.target_topic_id
JOIN topics t ON t.id = m.target_topic_id
WHERE m.created_at > COALESCE(r.created_at, '1900-01-01')
AND t.deleted_at IS NULL
AND NOT t.archived
AND NOT t.closed
ORDER BY m.created_at DESC