PostgreSQL - ERROR: table name xxxx specified more than once

 
Vista:

ERROR: table name xxxx specified more than once

Publicado por Rafael (15 intervenciones) el 26/12/2017 14:28:04
Buen Dia, a ver si me pueden orientar, tengo este inconveniente con los join.

1
2
3
4
5
6
7
8
9
SELECT sno_hpersonalnomina.codnom, count(distinct(sno_hpersonalnomina.codper)) as trabajadores, trunc(cast(sum(ABS(sno_hsalida.valsal)) as numeric), 2) as asignaciones
from sno_hpersonalnomina, sno_hsalida
JOIN sno_hpersonalnomina ON sno_hsalida.codnom = sno_hpersonalnomina.codnom
JOIN sno_hpersonalnomina ON sno_hsalida.codper = sno_hpersonalnomina.codper
join sno_hpersonalnomina on sno_hsalida.codperi= sno_hpersonalnomina.codperi
join sno_hpersonalnomina on sno_hsalida.anocur= sno_hpersonalnomina.anocur
where sno_hpersonalnomina.codnom::integer <= 8 AND sno_hpersonalnomina.staper::integer = 1 and (tipsal='A')
group by sno_hpersonalnomina.codnom
order by sno_hpersonalnomina.codnom

Porque el pgadmin me arroja ese error?

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ERROR: table name xxxx specified more than once

Publicado por martin (121 intervenciones) el 26/12/2017 14:57:22
No es un problema de pgadmin, la query no es correcta, despues del ON podes construir la premisa uniendo con ANDs y si lo que querias es varios joins contra una misma tabla tenes que usar alias:

ejemplo

FROM
tabla_a A ON A.id = .....
INNER JOIN
tabla_a B ON B.id = ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ERROR: table name xxxx specified more than once

Publicado por Rafael (15 intervenciones) el 26/12/2017 15:16:52
Estimado gracias, ya me muestra los resultados, me tarda un poco pero es por la cantidad de datos.

Coloque los and despues del primer ON y listo.

cualquier duda vuelvo a escribir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ERROR: table name xxxx specified more than once

Publicado por martin (121 intervenciones) el 26/12/2017 15:50:54
indexa las columnas por las cuales estas haciendo los joins y si es posible los campos que filtras en el where.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar