Bases de Datos > PostgreSQL

 Como combinar dos consultas sin perder filas

<< < (2/2)

ProfesorX:
Hola de nuevo codeforall, disculpa por no poder contestar antes.

Bueno, he analizado tu problema, y creo que es posible de hacer mediante subquerys y utilizando alias

Desconozco si PostgreSQL soporta alias, pero suponiendo que si, le asignaremos un alias "a" a la consulta 1, un alias "b" a la consulta 2, y un alias "c" a la consulta 3.

Te dejo el sguiente codigo, que probe en SQL Server y funciona adecuadamente, si PostgreSQL no soporta el uso de alias y subquerys, te recomendaria que crearas tablas temporales para guardar las subquerys y luego hagas un query normal con las tablas temporales, no se si me entiendas a que me refiero.


--- Código: ---select a.codigo, a.ubicacion, a.num_estands, b.personas_asignadas, c.personas_incorporadas
from
(SELECT codigo,  ubicacion,  COUNT (palacio) AS num_estands
FROM palacios, estands
WHERE palacios.codigo = estands.palacio
GROUP BY codigo, ubicacion
) a
inner join
(SELECT codigo, 
COUNT (asignan.palacio) AS personas_asignadas
FROM palacios
LEFT OUTER JOIN asignan ON palacios.codigo = asignan.palacio
GROUP BY codigo) b
on a.codigo = b.codigo
inner join
(SELECT codigo, 
COUNT (incorporan.palacio) AS personas_incorporadas
FROM palacios
LEFT OUTER JOIN incorporan ON palacios.codigo = incorporan.palacio
GROUP BY codigo) c
on a.codigo = c.codigo
order by a.codigo, a.ubicacion;

--- Fin del código ---

Saludos :)

codeforall:
Hola,

 Funciona, f u n c i o n a   :bravo: :jumpie:

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa