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

mySQL ERROR, construcción Inner Join

Estas en el tema de mySQL ERROR, construcción Inner Join en el foro de Mysql en Foros del Web. Este es el Error espero puedan ayudarme: Error de MySQL: Not unique table alias: 'productoenpedido' Cita: Editado: Código de programación no permitido en foros de ...
  #1 (permalink)  
Antiguo 17/04/2015, 15:15
Avatar de gerrycrush  
Fecha de Ingreso: abril-2015
Ubicación: Mexico
Mensajes: 9
Antigüedad: 9 años, 7 meses
Puntos: 0
Exclamación mySQL ERROR, construcción Inner Join

Este es el Error espero puedan ayudarme:

Error de MySQL: Not unique table alias: 'productoenpedido'


Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
Código SQL:
Ver original
  1. SELECT * FROM cliente WHERE id_cliente =  '$cliente'
Código SQL:
Ver original
  1. SELECT productoenpedido.Cantidad, articulo.id_descripcion, productoenpedido.PrecioUnitario, productoenpedido.Descuento, productoenpedido.PrecioLista
  2. FROM productoenpedido
  3. INNER JOIN productoenpedido ON articulo.id_cliente = productoenpedido.id_pedido
  4. INNER JOIN cliente ON pedido.id_pedido = cliente.id_cliente
  5. WHERE cliente.id_cliente = '$cliente'

Última edición por gnzsoloyo; 17/04/2015 a las 15:33
  #2 (permalink)  
Antiguo 17/04/2015, 15:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: mySQL ERROR, construcción Inner Join

El problema ya te lo dije en el otro foro: estás invocando dos veces a la misma tabla en el FROM, pero no lo estás poniendo los alias obligatorios para ese caso.
Además, tampoco estás invocando a la tabla "Articulos", que se menciona en el SELECT.
Si a esto le sumas que estas vinculando los ID_CLIENTE con ID_PEDIDO, que deberían representar cosas diferentes, tu query está espantosamente mal escrita...

Voy a suponer que hay un campo "descripcion" en tu tabla articulo, y que hay otro como "id_articulo". La verdad es que desde esa query es difícil saber si tus tablas están bien diseñadas. No lo parecen. Y si no está bien construida, no hay modo que saques resultados correctos.

Código MySQL:
Ver original
  1.     PP.Cantidad,
  2.     A.descripcion,
  3.     A.PrecioUnitario,
  4.     PP.Descuento,
  5.     A.PrecioLista
  6.     Articulo A
  7.     INNER JOIN productoenpedido PP ON A.id_articulo = PP.id_articulo
  8.     INNER JOIN cliente C ON PP.id_cliente = C.id_cliente
  9. WHERE cliente.id_cliente = '$cliente'

En cuanto al error es simple: Cuando invocas dos veces a la misma tabla, debes usar alias para identificar los campos correctamente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql+consulta, mysql-error
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 07:14.