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

Error en select con inner join

Estas en el tema de Error en select con inner join en el foro de Mysql en Foros del Web. Buenas a todos, Estoy intentando hacer una consulta en la que utilizo 3 tablas, y al crear la sentencia me da un error, pero no ...
  #1 (permalink)  
Antiguo 09/11/2006, 08:27
 
Fecha de Ingreso: abril-2002
Mensajes: 103
Antigüedad: 22 años
Puntos: 1
Error en select con inner join

Buenas a todos,

Estoy intentando hacer una consulta en la que utilizo 3 tablas, y al crear la sentencia me da un error, pero no consigo saber donde esta, pongo la consulta y el error a ver si alguien puede ayudarme.

SELECT Productes.IdProducte, Productes.NomProducte, Clients.NomClient, Categoria.NomCategoria FROM Categoria INNER JOIN Clients INNER JOIN Productes ON Clients.IdClient = Productes.IdClient) ON Categoria.IdCategoria = Productes.IdCategoria WHERE (((Productes.IdProducte)='$id'))


El error que me da es el siguiente:

MySQL ha dicho:


You have an error in your SQL syntax near 'INNER JOIN Productes ON Clients.IdClient = Productes.IdClient) ON Categoria.IdCa' at line 1


Gracias de antemano y saludos

Xavi
  #2 (permalink)  
Antiguo 09/11/2006, 09:36
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
ON Clients.IdClient = Productes.IdClient) ON
Ahi tienes un parentesis de sobra
>_>
  #3 (permalink)  
Antiguo 09/11/2006, 10:02
 
Fecha de Ingreso: abril-2002
Mensajes: 103
Antigüedad: 22 años
Puntos: 1
gracias darkasecas por tu pronta respuesta..

He quitado el parentesis que me comentabas pero continua dando el mismo error???

No se por donde tirar...

Un saludo
  #4 (permalink)  
Antiguo 09/11/2006, 10:31
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Te sobra un paréntesis en:

WHERE (((Productes.IdProducte)='$id'))

debería ser

WHERE ((Productes.IdProducte)='$id'))

o más bien

WHERE Productes.IdProducte)='$id'

Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #5 (permalink)  
Antiguo 09/11/2006, 10:34
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Prueba asi
SELECT Productes.IdProducte, Productes.NomProducte, Clients.NomClient, Categoria.NomCategoria FROM Categoria INNER JOIN Productes ON Categoria.IdCategoria = Productes.IdCategoria INNER JOIN Clients ON Clients.IdClient = Productes.IdClient WHERE (((Productes.IdProducte)='$id'))
  #6 (permalink)  
Antiguo 09/11/2006, 10:50
 
Fecha de Ingreso: abril-2002
Mensajes: 103
Antigüedad: 22 años
Puntos: 1
Ahora si funciona,

Muchas gracias a todos por vuestras respuestas..

Un saludo
Xavi
  #7 (permalink)  
Antiguo 09/11/2006, 11:47
 
Fecha de Ingreso: noviembre-2006
Ubicación: Radico en Monterrey N.L
Mensajes: 4
Antigüedad: 17 años, 5 meses
Puntos: 0
Esto es un poco mas limpio solo por si aun sirve

SELECT Productes.IdProducte, Productes.NomProducte, Clients.NomClient, Categoria.NomCategoria
FROM Categoria INNER JOIN Productes ON (Categoria.IdCategoria = Productes.IdCategoria)
INNER JOIN Clients ON (Clients.IdClient = Productes.IdClient)
WHERE (((Productes.IdProducte)='$id'))
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 20:05.