PostgreSQL - error en Query

   
Vista:

error en Query

Publicado por zendi (98 intervenciones) el 24/10/2014 14:34:01
Que tal a todos. Estoy creando una consulta para:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT paciente.nrohistoria, lpad(CAST(nrohistoria AS TEXT), 4, '0') AS nrohistoria,
       nombre,
       paciente.id_paciente,
       consulta.id_paciente,
       consulta.id_consulta,
       consulta.fecha
  FROM paciente,consulta
 WHERE paciente.nrohistoria = 3
 
GROUP BY paciente.nrohistoria,
       nombre,consulta.id_paciente,
       paciente.id_paciente,
       paciente.cod_sanguineo,
       paciente.cod_sexo,
       consulta.fecha,
       consulta.id_consulta

pero me arroja este error:
1
2
3
ERROR: column reference "nrohistoria" is ambiguous
SQL state: 42702
Character: 40

y aparece remarcado el campo nrohistoria en esta linea:
SELECT paciente.nrohistoria, lpad(CAST(nrohistoria AS TEXT), 4, '0') AS nrohistoria,
pero si le quito el formateado si lo hace.
si alguien puede ayudarme.
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 en Query

Publicado por martin (48 intervenciones) el 24/10/2014 15:14:50
Proba:
lpad(CAST(paciente.nrohistoria AS TEXT), 4, '0') AS nrohistoria_text

nrohistoria esta en dos o mas tablas/views por lo tanto no sabe de cual origen queres traer el dato,tenes que especificar la tabla como paciente.nrohistoria
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 en Query

Publicado por zendi (98 intervenciones) el 24/10/2014 19:48:57
Que tal martin, gracias, ya funciono tu idea, hay que especificar siempre cual es el origen del campo.
Saludos.
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 en Query

Publicado por martin (48 intervenciones) el 24/10/2014 23:50:32
No siempre, si la columna solo existe en una tabla/view no es necesario anteponer la tabla, tambien te recomiendo ponerle un alias a la tabla,que el query un poco mas limpio, en especial cuando tener muchas tablas join y filtros
ejemplo:

1
SELECT p.nrohistoria,c.fecha FROM paciente p ,consulta c WHERE etc..
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 en Query

Publicado por zendi (98 intervenciones) el 25/10/2014 03:40:34
Asi como indicas lo hice, y funciona martin. es mas practico. Gracias.
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