Buenas a todos.
He conseguido los resultados que deseaba con la siguiente consulta:
Código MySQL:
Ver originala.acta_id 'acta',
-- Origen
CONCAT_WS('',co.compania
,' Compañía ','(',pu.puesto
,')') 'origen', -- Ente Receptor
er.ente 'ente_receptor',
-- Funcionario(s)
-- Fiscal
CONCAT_WS(' ',fi.fis_cedula
,fi.p_apellido
,fi.p_nombre
) 'fiscal', -- Imputado(s)
GROUP_CONCAT(DISTINCT im.imp_cedula
, ' ', im.p_apellido
, ' ', im.p_nombre SEPARATOR
', ') 'imputados', -- Retencion(es)
-- usuario
CONCAT_WS(' ',us.apellido
,us.nombre
) 'creador' -- Imputados(s)
LEFT JOIN actas_has_imputados ahi
ON ahi.fk_actas_id
= a.acta_id
LEFT JOIN imputados im
ON im.imp_cedula
= ahi.fk_imputados_cedula
-- Funcionario(s)
LEFT JOIN actas_has_funcionarios ahf
ON ahf.fk_actas_id
= a.acta_id
LEFT JOIN funcionarios fu
ON fu.fun_cedula
= ahf.fk_funcionarios_cedula
LEFT JOIN rangos ra
ON ra.rangos_id
= fu.fk_rangos_id
-- Retencion(es)
LEFT JOIN actas_has_retenciones ahr
ON ahr.fk_actas_id
= a.acta_id
LEFT JOIN retenciones re
ON re.retenciones_id
= ahr.fk_retenciones_id
-- Fiscal
LEFT JOIN fiscales fi
ON fi.fis_cedula
= a.fk_fiscales_cedula
-- Ente Receptor
LEFT JOIN entes_receptores er
ON er.ente_id
= a.fk_entes_receptores_id
-- Origen
LEFT JOIN puestos pu
ON pu.puestos_id
= a.fk_puestos_id
LEFT JOIN companias co
ON co.companias_id
= pu.fk_companias_id
-- Usuario
LEFT JOIN usuarios us
ON us.usuario_id
= a.fk_usuarios_id
y me da como resultado:
Código MySQL:
Ver original+-----------+------------+--------------------------------+---------------+-------------------------------------------------------+
| acta | f_acta | origen | ente_receptor | funcionarios |
+-----------+------------+--------------------------------+---------------+-------------------------------------------------------+
| 1b99089c4 | 13/04/2015 | Primera Compaa (Peaje I) | Fiscalía 1º | TCNEL García Dilia |
| 1b99089c5 | 14/04/2015 | Primera Compaa (Petroguárico) | Fiscalía 2º | TCNEL García Dilia, TTE Rambo Jhon, SM/2 Mora Manuel |
| 1b99089c6
| 14/04/2015 | Primera Compaa
(Chaguaramas
) | Fiscalía
2º
| NULL | +-----------+------------+--------------------------------+---------------+-------------------------------------------------------+
+--------------------+------------------------------------------------+--------------------------------------------------+------------------+
| fiscal | imputados | retenciones | creador |
+--------------------+------------------------------------------------+--------------------------------------------------+------------------+
| 2468135 Cate Ali | 12345678 Carmona Carlos | Persona, Arma de Fuego, Productos Varios | González Freddy |
| 9876543 Brito Alan | 11223344 Pérez Pedro, 12345678 Carmona Carlos | Auto, Equipos, Sustancias, Herramientas o Partes | González Freddy |
| 9876543 Brito Alan
| NULL | NULL | González Freddy
| +--------------------+------------------------------------------------+--------------------------------------------------+------------------+
He dividido el resultado de la consulta en dos partes para mejorar la visualización.
Justo así quería que se devolviera la consulta. Solo me queda modificar el left por inner en las joins.
La forma de presentar los datos ya va por cuenta del lenguaje de programación (PHP).
Algún comentario o sugerencia sobre la consulta es bienvenida.