Скрипт автоматизации: запланированные PM с результатами Data Explorer не отправляются

Думаю, это связано с «магией» user_id, которую Data Explorer применяет при преобразовании обычных идентификаторов в рабочие ссылки. Если запустить ваш отчет как есть, возникнет ошибка, точно такая же, как у вас, но если убрать из SELECT оба поля t.user_id и t.last_post_user_id, всё работает.

Если же заменить их на обычные имена пользователей, автоматизация тоже работает корректно:


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

Кроме того, мы уже обратились к более опытному специалисту, чтобы он подробнее разобрался в ситуации. :+1: :slight_smile:


Отдельно отмечу: не уверен, что ваш запрос делает именно то, что вы задумали. Это как-то связано с решением (Solution), поскольку в результатах я вижу много личных сообщений (PM)?

3 лайка