Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2015, 09:20
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Consulta para obtener numero menos elejido

Una forma de evitar el loop es creando una tabla lookup con los valores de todos los boletos, por ejemplo:

Código SQL:
Ver original
  1. CREATE TABLE boletos (numero INT)
  2. CREATE TABLE boletos_sorteados (numero INT)
  3.  
  4. INSERT INTO boletos VALUES (0)
  5. INSERT INTO boletos VALUES (1)
  6. INSERT INTO boletos VALUES (2)
  7. INSERT INTO boletos VALUES (3)
  8. INSERT INTO boletos VALUES (4)
  9. INSERT INTO boletos VALUES (5)
  10. INSERT INTO boletos VALUES (6)
  11. INSERT INTO boletos VALUES (7)
  12. INSERT INTO boletos VALUES (8)
  13. INSERT INTO boletos VALUES (9)
  14.  
  15. INSERT INTO boletos_sorteados VALUES (9)
  16. INSERT INTO boletos_sorteados VALUES (5)
  17. INSERT INTO boletos_sorteados VALUES (3)
  18. INSERT INTO boletos_sorteados VALUES (9)
  19. INSERT INTO boletos_sorteados VALUES (0)
  20. INSERT INTO boletos_sorteados VALUES (6)
  21. INSERT INTO boletos_sorteados VALUES (6)
  22. INSERT INTO boletos_sorteados VALUES (5)
  23.  
  24. --consulta 1
  25. SELECT numero FROM boletos
  26. WHERE numero NOT IN (SELECT numero FROM boletos_sorteados)
  27. ORDER BY numero DESC
  28.  
  29. --consulta 2
  30. SELECT COUNT(*), numero FROM boletos_sorteados
  31. GROUP BY numero
  32. ORDER BY numero DESC

Saludos