Reporte de documentos por area usuario

Hola, estoy intentando sacar de la base de sudocu, un reporte listando documentos por area y usuario. La idea seria algo asi:

SELECT [Nombre Area], [Nombre y Apellido del Usuario], [Titulo del documento], [Nro], [Estado] FROM [LAS TABLAS CON LOS JOINS QUE HAGAN FALTA] …

Pude sacar un listado de documentos, pero no encuentro forma de hacer los joins con areas y usuarios o con las otras tablas porque los datos que harian falta para el join veo que estan en campos JSON. ¿como se puede sacar este listado?

Saludos!

Hola Diego, como estás ?

El tema de esta consulta, y en general, es que area querés sacar, porque por ejemplo una cosa es sacar el área donde se creo un documento y otra es sacar el area donde está actualmente un documento o el area donde se autorizó, etc, etc. SUDOCU está basado en eventos y los datos como area y usuario por ejemplo siempre varian de acuerdo a esos eventos durante el ciclo de vida del documento. Te paso acá un ejemplo con el area y usuario de creación. Tambien te agrego a la consulta el tipo de documento, que seguramente es un dato que vas a querer ver o filtrar, y la fecha de creacion del documento q es la fecha de ese evento.

La consulta seria algo asi:

SELECT a.nombre, u.nombre, dt.nombre, d.titulo, d.nro, d.estado, e.ts AS fecha_creacion
FROM sudocu.eventos e
INNER JOIN sudocu.documentos d ON e.id_documento = d.id
INNER JOIN sudocu.documentos_tipos dt ON d.id_tipo = dt.id
INNER JOIN sudocu.areas a ON e.origen->‘areas’->>0 = a.id::text
INNER JOIN sudocu.usuarios u ON e.origen->‘usuarios’->>0 = u.id::text
WHERE e.tipo_evento = 8

Tené en cuenta también que el campo nro es un objeto JSON con varios parametros, si quisieras sacar solamente el número tendrias que reemplazar d.nro por d.nro->>‘nro’

Saludos,

Pablo.

Muchas gracias Pablo! Con esta ya tengo base para sacar varios datos.
Saludos!