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

Error en consulta

Estas en el tema de Error en consulta en el foro de Mysql en Foros del Web. Hola, utilizo php + mysql. tengo la siguiente consulta: Código PHP: SELECT id_moviment ,  id_magatzem_origen ,  id_magatzem_desti ,  id_client , moviments . data ,  tipus_moviment ,  ...
  #1 (permalink)  
Antiguo 07/12/2006, 08:54
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Error en consulta

Hola,
utilizo php + mysql.
tengo la siguiente consulta:
Código PHP:
SELECT id_movimentid_magatzem_origenid_magatzem_destiid_client,
moviments.datatipus_movimentmoviments.id_articlemoviments.quantitat,
                    
moviments.unitatmoviments.albara
                    FROM moviments WHERE tipus_moviments
='e' 
                    
AND moviments.albara NOT IN(SELECT incidencies.albara FROM incidencies)
                    
$WHERE
                    ORDER BY moviments
.data DESC 
El resultado de la consulta es saber q registros hay en la tabla moviments q no esten en la tabla incidencias, es decir, q me muestre todos los registros de la tabla movimientos q no tenga incidencias!

Pero me da el siguiente error:
Código:
Error! MySQL Error #1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT incidencies.albara FROM incidencies) AND moviment
EL nombre de los campos es correcto, las dos consultas por separado funcionan... pero al unirlas con NOT IN parece ser q no reconoce esta clausula... no ser q puede estar pasando asi q si alguien me da alguna pista para tirar esto adelante, estare muy agradecido...
EDITADO: si pongo los numeros a mano es decir, quito la subconsulta y pongo unos valores la consulta deja de darme error y salen bien los resultados!

ideas?

saludos y gracias!
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 07/12/2006 a las 09:08
  #2 (permalink)  
Antiguo 07/12/2006, 13:43
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Error en consulta

Posibles errores que veo:
  1. Si en un SELECT pones campos de varias tablas, en el FROM DEBEN estar reflejadas las tablas y en tu caso solo haces referencia a una.
  2. La palabra WHERE es reservada y vos lo estas usando como variable $WHERE

Eso es lo que veo.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 08/12/2006, 11:27
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
Re: Error en consulta

MySQL soporta subconsultas desde la version 4.1, si tienes una version mas antigua marca error de sintaxis si haces una subconsulta
  #4 (permalink)  
Antiguo 11/12/2006, 01:24
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Error en consulta

Hola! buenos dias!
Gracias por vuestras respuestas...

BrujoNic ya puse arregle la consulta y cambie el nombre de la variable!

Supongo q el error q tengo es porque la version q hay en el servidor es la 4.0.11a y como dijo darkasecas no soporta subconsultas!

Si no tengo opcion de actualizar mysql, hay alguna otra manera de poder sacar esta consulta?

Saludos y gracias de antemano!
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 11/12/2006, 02:06
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Re: Error en consulta

Hola

Yo probaría a hacerlos con una JOIN creo que no tiens mucha más opción la verdad.

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
  #6 (permalink)  
Antiguo 11/12/2006, 02:24
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Error en consulta

Hola!,
ahora mismo tengo lo siguiente
Código PHP:
$str_expedicions "SELECT id_moviment, id_magatzem_origen, id_magatzem_desti, id_client,
                    moviments.data, tipus_moviment, moviments.id_article, moviments.quantitat,
                    moviments.unitat, moviments.albara, incidencies.id_incidencia
                    FROM moviments LEFT JOIN incidencies ON moviments.albara = incidencies.albara
                    WHERE tipus_moviment= 'e' AND incidencies.id_incidencia =  ''
                    $WHEREHAN 
                    ORDER BY moviments.data DESC"

el problema q tengo es q en esta linia AND incidencies.id_incidencia = ''
si pongo q es diferente es decir: AND incidencies.id_incidencia <> '' me muestra los resultados q si q estan en la tabla incidencias, pero si lo dejo tal y como esta no me muestra nada, y tendria q mostrarme los registros q no tienen incidencias no???

Hay alguna otra manera de buscar un null?


EDITADO
Solucion: AND incidencies.id_incidencia is null



saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
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 18:03.