Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como evitar "clause is ambigous"?

Estas en el tema de como evitar "clause is ambigous"? en el foro de Mysql en Foros del Web. Hola, porfa una ayudita: Supongamos tengo dos tablas: A (id_a, nombre_a, IDfk) B (id_b, nombre_b, IDfk) al hacer la consulta SELECT * FROM A,B WHERE ...
  #1 (permalink)  
Antiguo 21/08/2009, 08:59
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 10 años, 6 meses
Puntos: 0
como evitar "clause is ambigous"?

Hola, porfa una ayudita:

Supongamos tengo dos tablas:
A (id_a, nombre_a, IDfk)
B (id_b, nombre_b, IDfk)
al hacer la consulta
SELECT * FROM A,B WHERE A.id=B.id AND IDfk=2
aparece: Colum 'IDfk' in where clause is ambigous
Lo que esta bien pues la consulta correcta es:
SELECT * FROM A,B WHERE A.id=B.id AND A.IDfk=2

La pregunta es: existirá alguna forma de hacer el join de estas tablas sin modicar la consulta base (SELECT * FROM A,B WHERE A.id=B.id) Y sin que deba especificarle a la columna "IDfk" de que tabla hacer el filtro???

Eso, de antemano, muuchas gracias.
  #2 (permalink)  
Antiguo 21/08/2009, 09:04
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: como evitar "clause is ambigous"?

Cita:
Lo que esta bien pues la consulta correcta es:
SELECT * FROM A,B WHERE A.id=B.id AND A.IDfk=2
Es totalmente necesario especificar de que tabla debe hacer el filtro. Si no fuese así, que crityerio tendría mysql para cumplir la condición?

Cita:
La pregunta es: existirá alguna forma de hacer el join de estas tablas sin modicar la consulta base (SELECT * FROM A,B WHERE A.id=B.id) Y sin que deba especificarle a la columna "IDfk" de que tabla hacer el filtro???
En que te afecta tenerlo así?

saludos pablowhr y bienvenido al foro
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/08/2009, 12:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: como evitar "clause is ambigous"?

Cita:
Iniciado por huesos52 Ver Mensaje
Es totalmente necesario especificar de que tabla debe hacer el filtro. Si no fuese así, que crityerio tendría mysql para cumplir la condición?

En que te afecta tenerlo así?
Ok, preguntaba si habia alternativa para no modificar decenas de consultas, como tengo una función que 'procesa' las solicitudes a mysql mi idea era que que esta función concatenara a mi sentencia SQL un "...AND IDfk=2" (dependiendo de ciertas reglas) y listo.

Gracias por responder, salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:57.