Una solución alterna para que en una sola fila te traiga todos los bonos...
select
empl.rut,
empl.nombre,
empl.ap_paterno,
empl.ap_materno,
array_to_string(array(select run, bono from bonos as bon where periodo =
2010 and bon.run = empl.rut ), '\n') AS bono
from empleados empl
El 8
Marcos en tu consulta intentas traer una columna que no existe en las tablas
del from (bon.bono)
Saludos
Guillermo Villanueva
El 8 de octubre de 2010 17:33, Marcos Luis Ortiz Valmaseda <
marcosluis2...@googlemail.com> escribió:
> No seria asi?
>
> SELECT empl.rut,
>
2010/10/8 Sergio Valdes Hurtado :
> ¿Esta consulta me devuelve todos los empleados, tengan o no tengan bono?
>
no porque la condicion del LEFT JOIN debe ir en una clausula ON y no en el WHERE
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de Postgre
La mejor forma de ver eso probando.
Saludos
El 08/10/10, Sergio Valdes Hurtado escribió:
> ¿Esta consulta me devuelve todos los empleados, tengan o no tengan bono?
>
>
> El día 8 de octubre de 2010 16:33, Marcos Luis Ortiz Valmaseda
> escribió:
>> No seria asi?
>>
>> SELECT empl.rut,
>>
¿Esta consulta me devuelve todos los empleados, tengan o no tengan bono?
El día 8 de octubre de 2010 16:33, Marcos Luis Ortiz Valmaseda
escribió:
> No seria asi?
>
> SELECT empl.rut,
> empl.nombre,
> empl.ap_paterno,
> empl.ap_materno,
> bon.bo
No seria asi?
SELECT empl.rut,
empl.nombre,
empl.ap_paterno,
empl.ap_materno,
bon.bono
FROM empleados empl
WHERE empl.rut
EXISTS ( SELECT bono.run
FROM bonos
WHERE periodo = 2010
Excerpts from Sergio Valdes Hurtado's message of vie oct 08 16:06:45 -0400 2010:
> Estimados,
> es posible utilizar un left join en una subconsulta.
Claro
> Quiero hacer algo como lo que sigue:
>
> select empl.rut, empl.nombre, empl.ap_paterno, empl.ap_materno, bon.bono
> from empleados empl,
>