Besoin d'aide pour une requete

ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009 - 17 juil. 2007 à 15:07
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009 - 24 juil. 2007 à 15:54
Bonjour,

Je me demande si c'est possible de résoudre ce problème par une requete :

Imaginez un cube de 5*5*5 cases.
Dans ce cube 2 cases appartiennent à Toto
Et 1 case appartient à Gege

Je souhaite connaitre la liste des emplacements disponibles pour ajouter une case à toto,  sachant qu'il faut respecter les conditions suivantes :
- les cases ne doivent appartenir à personne,
- la case ajoutée doit etre en contact avec l'une des deux cases de toto.

Table CASE
x INT
y INT
z INT
Proprietaire STRING

Dans la table on aura :
2 / 3 / 2 / TOTO
2 / 3 / 3 / TOTO
4 / 4 / 3 / GEGE

Afin déviter de surcharger la table je ne veux pas remplir les cases vides.

Cela est il possible d'apres vous ?

Merci pour votre aide

5 réponses

ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
17 juil. 2007 à 16:08
Ce que j'ai trouvé c'est en remplissant toute la table ce que je voudrai éviter afin d'avoir un cube dynamique et surtout de ne pas surcharger la base de données.

Je vous donne la requete dans ce cas la:

SELECT C.*
FROM Case C, (SELECT * FROM Case WHERE Id_User = 1) CU
WHERE C.x IN (CU.x +1, CU.x -1)
AND C.y = CU.y
AND C.z = CU.z
AND C.Id_User = 0
UNION (  
    SELECT C.*  
    FROM Case C, (SELECT * FROM Case WHERE Id_User = 1) CU  
    WHERE C.x  = CU.x  
    AND C.y IN (CU.y +1, CU.y -1)  
    AND C.z = CU.z  
    AND C.Id_User = 0
)
UNION (  
    SELECT C.*  
    FROM Case C, (SELECT * FROM Case WHERE Id_User = 1) CU  
    WHERE C.x  = CU.x  
    AND C.y = CU.y  
    AND C.z IN (CU.z +1, CU.z -1)  
    AND C.Id_User = 0
)

Si quelqu'un a plus simple je suis preneur
0
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
18 juil. 2007 à 14:11
up
0
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
19 juil. 2007 à 09:15
up
0
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
23 juil. 2007 à 11:32
up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
24 juil. 2007 à 15:54
up
0
Rejoignez-nous