La referencia de la columna SQL "id" es ambigua

Resuelto Fofole asked hace 12 años • 6 respuestas

Probé la siguiente selección:

SELECT (id,name) FROM v_groups vg 
INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id =0;

Y aparece el siguiente error: la referencia de la columna ides ambigua.

Si intento lo mismo SELECT, pero solo pido namey no idtambién, funciona.

¿Alguna sugerencia?

Fofole avatar Mar 22 '12 18:03 Fofole
Aceptado

Necesita el nombre/alias de la tabla en la SELECTparte (tal vez (vg.id, name)):

SELECT (vg.id, name)
FROM v_groups vg 
INNER JOIN people2v_groups p2vg
  ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;
JScoobyCed avatar Mar 22 '2012 11:03 JScoobyCed

Supongo que su tabla p2vg también tiene un campo de identificación, en ese caso, postgres no puede encontrar si la identificación en el SELECTse refiere a vg o p2vg.

deberías usar SELECT(vg.id,vg.name)para eliminar la ambigüedad

dweeves avatar Mar 22 '2012 11:03 dweeves
SELECT (vg.id, name) FROM v_groups vg 
INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;
Janaki avatar Mar 22 '2012 11:03 Janaki
SELECT vg.id, 
       vg.name
  FROM v_groups vg INNER JOIN  
       people2v_groups p2vg ON vg.id = p2vg.v_group_id
 WHERE p2vg.people_id = 0;
Alex Mack avatar Sep 25 '2017 06:09 Alex Mack