Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2011, 20:21
Avatar de JavierUgalde
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..