Comunidad de diseño web y desarrollo en internet online

Consulta SQL, sin usar NOT IN, ayuda plz...

Citar            
MensajeEscrito el 11 Abr 2006 05:41 pm
Hola, bueno de en verdad qu eme vuelvo loko con esta consulta.

Objetivo: mostrar los juegos en los cuales el jugador AUN no se ha registrado

Código :

/*Primero me fijo en que juegos esta registrado el actual jugador 
(en este caso uso el ejemplo del jugador "pepe"*/
$queryy = "SELECT juego FROM equipos WHERE n_cliente = 'pepe'";
$envio = mysql_query($queryy);
$resultado = mysql_num_rows($envio);

if($resultado > 0)
echo "El x jugador esta registrado en las categorias";
...
..
/*Ahora debajo del resultado quiero mostrar en que juegos AUN 
no se ha registrado (aca es donde tengo problemas). 
Ya que si se tratase de un solo juego.. pues con "<> 'juego'" ya estaria.. 
pero se trata de x juegos, puede ser 1,2,3 etc.. 
(en los cuales el jugador se ha registrado)*/

//Esta es una manera que funciona:
$query = "SELECT nombre FROM juegos_reg WHERE nombre NOT IN ($queryy)";

/*Ahi trato con Subquery's y pues eso me permite utilizarlo en MYSQL 
(versiones avanzadas..) y quisiera que funcione almenos en la 4.0.*/


De que manera podria hacerlo plz?? ayuda..

Aun asi, gracias y saludos!

Pd: si no se entiende bien, pos lo intento de explicar un poco mejor. pero creo que ahi va..

Por zuche

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Abr 2006 07:10 pm
normalmente puedes enlazar dos tablas vinculadas tipo MyISAM por sus claves primarias de la forma

where idTabla1 = idTabla2, de esa manera creo que puedes meter la subquery en toda una query, prueba a ver que hoy estoy espeso porque casi no he dormido :P

Por frenadoll

922 de clabLevel

6 tutoriales

Genero:Masculino  

Barcelona

firefox
Citar            
MensajeEscrito el 11 Abr 2006 10:24 pm

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 12 Abr 2006 02:02 pm
Gracias por la info, he visto ese link pero mi problema esta en el tipo DE TABLA que llevo.
Asique mejor pondre, que tablas tengo (utilizo en mi caso):

(tabla) juegos
- nombre
- info

(tabla) equipos
- equip
- juego
- puntos
etc...

Ok, esto funciona asi.. para saber si un equipo esta registrado en x juego.. pues solo debo revisar (hacer una consulta) a la tabla "equipos" entonces ahi saco como resultado en que juegos se encuentra registrado x equipo.

Pero claro.. luego quiero mostrarle a ese equipo (en una segunda consulta) en que juegos AUN no se ha registrado y puede hacerlo. Lo cual gracias al resultado de la primer consulta debo incorporarla en la segunda consulta, la cual primero compruebo todos los juegos disponibles (tabla->juegos) y sacar como resultado los nombres de los juegos en el cual el x equipo no esta registrado.

Ejemplo Concreto??

Supongamos que en la tabla "juegos" tengo los siguientes: JUEGO1,JUEGO2,JUEGO3,JUEGO4

El x equipo se encuentra registrado en el JUEGO1 y JUEGO2

Lo cual el resultado de la segunda/ultima consulta deberia ser JUEGO3 y JUEGO4 (el cual aun no se ha registrado).

Entonces como podria hacerlo??, si utilizo lo qu ehice antes de un subquery NOT IN ($query1) funciona,. ok.. pero eso solo me sirve en versionas avanzadas de mysql como la 5.0..

Otra manera, es usar JOINS, ok pero en mi caso no se como hacerlo... y puede que lo que este mal.. sea la ORGANIZACION de mis tablas.

Espero que puedan orientarme, gracias.

Por zuche

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Abr 2006 02:04 pm
Si lees bien el post que te dio Dano verás la solución, estabamos tratando exactamente lo mismo. Lee con más intencion.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.