Hola.\n\nTenemos un flujo de trabajo en nuestro foro donde asignamos hilos a un grupo y, una vez que ese grupo ha hecho lo que considera que puede hacer con un hilo determinado, se lo quita. Esto asegura que esos hilos desaparezcan de la lista de hilos de los que todavía son responsables.\n\nY, para nuestros propios fines de informes ("qué tipo de temas se asignan típicamente al grupo ____"), nos gustaría poder buscar en nuestro foro cualquier instancia de una asignación de grupo.\n\n¿Hay alguna sintaxis de búsqueda que no conozca, o alguna idea sobre cómo extraer dichos informes? Me gusta pensar que solo me falta algo de sintaxis, ya que toda la información sobre las asignaciones de grupo (pasadas y presentes) es visible al navegar por un hilo.
1 me gusta
Puedes extraer estos datos usando el plugin Data Explorer.
Espero que la siguiente consulta te sea de ayuda.
1. Lista todos los temas que están asignados actualmente a un grupo
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. Lista el historial de asignación de temas a grupos
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 Me gusta
¡Guau, @michebs, gracias por tu ayuda!
Habíamos empezado a armar una consulta similar al final del día de hoy (encontrar la tabla post_custom_fields nos voló la cabeza), pero la tuya es mucho más limpia al final.
Notamos que faltaban algunas entradas cuando los temas se habían reasignado directamente en lugar de anular la asignación y luego asignarlos, así que cambié un poco la condición WHERE para tener esto en cuenta. Así que finalmente llegamos a:
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
Gracias de nuevo por tu ayuda. ![]()
3 Me gusta
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.