查找历史作业

你好。

我们的论坛有一个工作流程,我们会将帖子分配给一个组,一旦该组完成了他们认为可以对给定帖子做的事情,他们就会取消分配。这可以确保这些帖子从他们仍然负责的帖子列表中消失。

而且,为了我们自己的报告目的(“通常会将哪些类型的主题分配给____组”),我们希望能够搜索我们的论坛,查找任何组分配的实例。

我是否不熟悉某种搜索语法,或者有什么关于如何提取此类报告的想法?我想我只是错过了某种语法,因为在浏览帖子时,所有关于组分配(过去和现在)的信息都是可见的。

1 个赞

您可以使用 Data Explorer 插件提取此数据。

希望下面的查询能帮助您。

1. 列出当前分配给组的所有主题
SELECT 
    g.name group_name,
    a.topic_id,
    a.assigned_by_user_id,
    a.created_at
FROM assignments a
INNER JOIN groups g ON g.id = a.assigned_to_id
WHERE assigned_to_type = 'Group'
ORDER BY g.name, created_at DESC
2. 列出将主题分配给组的历史记录
SELECT 
    pcf.value AS group,
    p.topic_id,
    p.user_id AS "assigned_by_user_id",
    pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE action_code = 'assigned_group'
    AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
4 个赞

Wow @michebs – 谢谢你的帮助!

我们今天快结束时也开始拼凑一个类似的查询(发现 post_custom_fields 表让我们大吃一惊),但你们的最终版本干净得多

我们确实注意到,当主题被直接重新分配而不是先取消分配再分配时,会缺少一些条目,所以我稍微修改了 WHERE 条件来处理这种情况。所以我们最终得到了:

SELECT 
    pcf.value AS group,
    p.topic_id,
    p.user_id AS "assigned_by_user_id",
    pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE (action_code = 'assigned_group' OR action_code = 'reassigned_group') 
    AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC

再次感谢你的帮助。 :heart:

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.