Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Miér Ago 27, 2014 11:21 pm
Estimados foristas:
Luego de realizar una migración de Artículos, los elementos de facturación que tienen existencia (suministros médicos y medicinas) presentan los siguientes errores:
- [MySQL][ODBC 3.51 Driver][mysqld-5.5.21]Column 'codigo' in where clause is ambiguous
- (Rev.2014.6.6) No se encuentra el alias QCURSORSEARCH .
Esto sucede cuando se realiza una búsqueda por los criterios CODIGO o GRUPO. Inclusive, por este último, hay que forzar el cierre de la aplicación puesto que cae en un bucle.
Yo migre las tablas ARTICULO y EXISTENC, actualicé estructuras. Por último, valide c/artículo (con la tabla EXISTENC vacía) para que esta recibiera data generada por el programa.
Luego de esto, borre la BD y genere una nueva; en la que generé artículos por el programa y el error no sucede.
Eso me lleva a pensar que es un error humano o una omisión en la migración.
¿Alguno de ustedes puede ayudarme?
NOTA: Se que hay una revisión nueva, pero, cómo creo que es un error de usuario; quisiera resolver esto (y aprender) antes de instalarla.
Luego de realizar una migración de Artículos, los elementos de facturación que tienen existencia (suministros médicos y medicinas) presentan los siguientes errores:
- [MySQL][ODBC 3.51 Driver][mysqld-5.5.21]Column 'codigo' in where clause is ambiguous
- (Rev.2014.6.6) No se encuentra el alias QCURSORSEARCH .
Esto sucede cuando se realiza una búsqueda por los criterios CODIGO o GRUPO. Inclusive, por este último, hay que forzar el cierre de la aplicación puesto que cae en un bucle.
Yo migre las tablas ARTICULO y EXISTENC, actualicé estructuras. Por último, valide c/artículo (con la tabla EXISTENC vacía) para que esta recibiera data generada por el programa.
Luego de esto, borre la BD y genere una nueva; en la que generé artículos por el programa y el error no sucede.
Eso me lleva a pensar que es un error humano o una omisión en la migración.
¿Alguno de ustedes puede ayudarme?
NOTA: Se que hay una revisión nueva, pero, cómo creo que es un error de usuario; quisiera resolver esto (y aprender) antes de instalarla.
Re: Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Vie Ago 29, 2014 6:37 pm
Te explico con un pequeño ejemplo:
Si tu tienes dos tablas, con campos de igual nombre:
Tabla 1:
codigo descripcion precio1
Tabla 2:
codigo descripcion2 precio2
En este caso las dos tablas tienen uno de igual nombre: "codigo"
Al hacer una consulta con unión:
Select * from tabla1
inner join tabla2 on (tabla1.codigo = tabla2.codigo)
where codigo = "1"
Te va a devolver el error que el campo "codigo" es ambiguo, ya que el manejador MySQL no sabe a que "codigo" te refieres si a la tabla1 o a la tabla2.
Solución:
En la clausula where debe especificarse a que tabla se refiere:
Select * from tabla1
inner join tabla2 on (tabla1.codigo = tabla2.codigo)
where tabla1.codigo = "1"
Con esto te guías
Si tu tienes dos tablas, con campos de igual nombre:
Tabla 1:
codigo descripcion precio1
Tabla 2:
codigo descripcion2 precio2
En este caso las dos tablas tienen uno de igual nombre: "codigo"
Al hacer una consulta con unión:
Select * from tabla1
inner join tabla2 on (tabla1.codigo = tabla2.codigo)
where codigo = "1"
Te va a devolver el error que el campo "codigo" es ambiguo, ya que el manejador MySQL no sabe a que "codigo" te refieres si a la tabla1 o a la tabla2.
Solución:
En la clausula where debe especificarse a que tabla se refiere:
Select * from tabla1
inner join tabla2 on (tabla1.codigo = tabla2.codigo)
where tabla1.codigo = "1"
Con esto te guías
Re: Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Sáb Ago 30, 2014 1:33 pm
Gracias por tu respuesta, pero el caso es que este error se produce luego de realizar una migración de Artículos, en el programa de Administración de Clínicas (Versión 7x, Rev. 2014.6.6), al consultar los elementos de facturación que tienen existencia (suministros médicos y medicinas) bajo los criterios de CODIGO o GRUPO.InversionesJMC escribió:Te explico con un pequeño ejemplo:
Si tu tienes dos tablas, con campos de igual nombre:
Tabla 1:
codigo descripcion precio1
Tabla 2:
codigo descripcion2 precio2
En este caso las dos tablas tienen uno de igual nombre: "codigo"
Al hacer una consulta con unión:
Select * from tabla1
inner join tabla2 on (tabla1.codigo = tabla2.codigo)
where codigo = "1"
Te va a devolver el error que el campo "codigo" es ambiguo, ya que el manejador MySQL no sabe a que "codigo" te refieres si a la tabla1 o a la tabla2.
Solución:
En la clausula where debe especificarse a que tabla se refiere:
Select * from tabla1
inner join tabla2 on (tabla1.codigo = tabla2.codigo)
where tabla1.codigo = "1"
Con esto te guías
Dado que el error no sucede cuando, en una BD limpia (sin data), genero los artículos por la aplicación; pienso que es un error mio. Sin embargo, he revisado columna por columna las tablas CODIGO y EXISTENC, he realizado actualizaciones generales y parciales de cada una de las tablas mencionadas, he exportado en formato sql dichas tablas e importado las mismas.
Pero, el error se mantiene, tendrás una idea de que puedo hacer?
De todas formas te dejo el detalle completo del error, a titulo ilustrativo:
Ha ocurrido un error en la ejecución de una sentencia SQL, éste mensaje muestra
información que le permitirá reportar él mismo al fabricante.
INFORMACION TECNICA:
----------------------------------
[MySQL][ODBC 3.51 Driver][mysqld-5.5.21]Column 'codigo' in where clause is ambiguous
SENTENCIA SQL:
------------------------
select articulo.codigo, articulo.nombre, articulo.precio1, articulo.rutafoto, articulo.unidad, articulo.costo, articulo.compuesto,articulo.empaque,(articulo.impuesto1+articulo.impuesto2+articulo.impuesto3+articulo.impuesto4+articulo.impuesto5+articulo.impuesto6) as sumaimpuestos,sum(existenc.existencia) as existencia from existenc inner join articulo on (existenc.codigo = articulo.codigo) where codigo like('s%') and articulo.tipoart=1 and (existenc.almacen='00') group by existenc.codigo order by codigo
Saludos.
Re: Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Sáb Ago 30, 2014 3:36 pm
La consulta correcta debería ser:
select articulo.codigo, articulo.nombre, articulo.precio1, articulo.rutafoto, articulo.unidad, articulo.costo, articulo.compuesto,articulo.empaque,(articulo.impuesto1+articulo.impuesto2+articulo.impuesto3+articulo.impuesto4+articulo.impuesto5+articulo.impuesto6) as sumaimpuestos,sum(existenc.existencia) as existencia from existenc inner join articulo on (existenc.codigo = articulo.codigo) where articulo.codigo like('s%') and articulo.tipoart=1 and (existenc.almacen='00') group by existenc.codigo order by articulo.codigo
Prueba a ver
select articulo.codigo, articulo.nombre, articulo.precio1, articulo.rutafoto, articulo.unidad, articulo.costo, articulo.compuesto,articulo.empaque,(articulo.impuesto1+articulo.impuesto2+articulo.impuesto3+articulo.impuesto4+articulo.impuesto5+articulo.impuesto6) as sumaimpuestos,sum(existenc.existencia) as existencia from existenc inner join articulo on (existenc.codigo = articulo.codigo) where articulo.codigo like('s%') and articulo.tipoart=1 and (existenc.almacen='00') group by existenc.codigo order by articulo.codigo
Prueba a ver
Re: Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Dom Ago 31, 2014 11:49 am
¡Pero es que esto es la consulta al código de la aplicación! Yo no puedo modificar el código del Administrativo 7x, pensé que era un error en la migración.InversionesJMC escribió:La consulta correcta debería ser:
select articulo.codigo, articulo.nombre, articulo.precio1, articulo.rutafoto, articulo.unidad, articulo.costo, articulo.compuesto,articulo.empaque,(articulo.impuesto1+articulo.impuesto2+articulo.impuesto3+articulo.impuesto4+articulo.impuesto5+articulo.impuesto6) as sumaimpuestos,sum(existenc.existencia) as existencia from existenc inner join articulo on (existenc.codigo = articulo.codigo) where articulo.codigo like('s%') and articulo.tipoart=1 and (existenc.almacen='00') group by existenc.codigo order by articulo.codigo
Prueba a ver
Re: Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Dom Ago 31, 2014 9:01 pm
En ese caso tienes que reportarlo a soporte PremiumSoft.
- D&MTECH
- Cantidad de envíos : 46
Edad : 36
Localización : Falcón
Fecha de inscripción : 17/10/2011
Re: Error MySQL: Column 'codigo'/'grupo' in where clause is ambiguous (REV.2014.6.6)
Mar Dic 09, 2014 10:38 am
linq escribió:[justify]Estimados foristas:
Luego de realizar una migración de Artículos, los elementos de facturación que tienen existencia (suministros médicos y medicinas) presentan los siguientes errores:
- [MySQL][ODBC 3.51 Driver][mysqld-5.5.21]Column 'codigo' in where clause is ambiguous
- (Rev.2014.6.6) No se encuentra el alias QCURSORSEARCH .
En que pantallas te aparece ese error?
- Contenido patrocinado
Permisos de este foro:
No puedes responder a temas en este foro.