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

Problema con Subconsulta

Estas en el tema de Problema con Subconsulta en el foro de Mysql en Foros del Web. Tengo un problemilla a ver si alguien puede ayudarme. Resulta que en el Mysql 5.5 al parecer ya no es compatible la instrucción sql IN ...
  #1 (permalink)  
Antiguo 19/06/2011, 20:21
Avatar de JavierUgalde  
Fecha de Ingreso: abril-2011
Ubicación: Maracay
Mensajes: 29
Antigüedad: 13 años
Puntos: 6
Información Problema con Subconsulta

Tengo un problemilla a ver si alguien puede ayudarme.

Resulta que en el Mysql 5.5 al parecer ya no es compatible la instrucción sql IN y NOT IN y necesito hacer esto

Mis tablas para resumir son las siguientes:

Tabla 1: Camisas
============
Campos
----------
NumeroCamisa int
Cedula int
CentrodeInscripcion int


Tabla 2: Carrito
===========
Campos
----------
Cedula int
NumeroCamisa int
Solicitada timestamp
CentrodeInscripcion int


El hecho es que necesito seleccionar de la tabla camisas un numero de camisa disponible sabiendo que no debe tener el campo cedula lleno y el numero se elige dependiendo del centro de inscripcion seleccionado puesto que cada centro de inscripcion posee rangos de camisas.

Entonces necesito elegir el proximo numero de camisa disponible pero verificando en la tabla carrito que no exista un numero asignado temporalmente a otro usuario, los numeros en esta tabla se guardan solo por 24 horas.

Mi consulta es esta:

SELECT NumeroCamisa FROM Camisas WHERE CentrodeInscripcion = 1
AND ISNULL(Cedula)
AND NOT IN (SELECT NumeroCamisa FROM Carrito WHERE HOUR(TIMEDIFF(CURRENT_TIMESTAMP,Solicitada)) < 24 AND CentrodeInscripcion= 1)
ORDER BY NumeroCamisa ASC LIMIT 1

Y bueno al parecer no es compatible con el mysql 5.5

Alguien sabe cual puede ser el reemplazo a la instruccion NOT IN e IN???

Gracias de antemano.

Saludos..
  #2 (permalink)  
Antiguo 19/06/2011, 23:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema con Subconsulta

No es que sea incompatible. Es que tu consulta principal está mal escrita:
Código SQL:
Ver original
  1. SELECT NumeroCamisa
  2. FROM Camisas
  3. WHERE CentrodeInscripcion = 1
  4.     AND Cedula IS NULL
  5.     AND NumeroCamisa NOT IN
  6.         (SELECT NumeroCamisa
  7.         FROM Carrito
  8.         WHERE HOUR(TIMEDIFF(CURRENT_TIMESTAMP,Solicitada)) < 24 AND CentrodeInscripcion= 1)
  9. ORDER BY NumeroCamisa ASC LIMIT 1
Si no pones contra qué compararás el resultado de la subconsulta, entonces te dará error de sintaxis.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/06/2011, 09:10
Avatar de JavierUgalde  
Fecha de Ingreso: abril-2011
Ubicación: Maracay
Mensajes: 29
Antigüedad: 13 años
Puntos: 6
De acuerdo Respuesta: Problema con Subconsulta

Ouuuuccchhhhh.... como no pude ver ese pequeño gran detalle...

Hermano millones de gracias, podras creer que revise y revise miles de veces y no me percate de ese error, como se me va a olvidar colocar el campo, yo en realidad hasta pensaba que el error estaba dentro de la subconsulta pero coye que broma... creo que ayer era bastante mi cansancio que no me permitia ver :S

Muchisimas gracias hermano un abrazo..

Saludos...
  #4 (permalink)  
Antiguo 20/06/2011, 11:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema con Subconsulta

Dormir unas horas antes de seguir revisando siempre es una buena idea...

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 20/06/2011, 12:32
Avatar de JavierUgalde  
Fecha de Ingreso: abril-2011
Ubicación: Maracay
Mensajes: 29
Antigüedad: 13 años
Puntos: 6
Respuesta: Problema con Subconsulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Dormir unas horas antes de seguir revisando siempre es una buena idea...

Es correcto hermano, a pesar de que era temprano en la noche, ya llevaba todo el dia trabajando... era hora de descansar un poco... muchisimas gracias pues estamos en contacto!

Saludos..

Etiquetas: subconsulta
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:12.