120 Requete SQL
kadden
Messages postés
311
Statut
Membre
-
blux Messages postés 27850 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27850 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Eléments de ma requête :
1) Table : MaTable1
2) Résultat à afficher : T1, T2
3) Conditions : c1, c2, c3, c4, c5
J'ai 5 conditions : c1, c2, c3, c4, c5
Besoin :
Je dois trouver T1, T2 selon toutes les conditions possibles (Toutes les permutations possibles) ce qui me fait 120 combinaisons possibles, y'a-t-il une meilleurs façon de faire que ça :
Eléments de ma requête :
1) Table : MaTable1
2) Résultat à afficher : T1, T2
3) Conditions : c1, c2, c3, c4, c5
J'ai 5 conditions : c1, c2, c3, c4, c5
Besoin :
Je dois trouver T1, T2 selon toutes les conditions possibles (Toutes les permutations possibles) ce qui me fait 120 combinaisons possibles, y'a-t-il une meilleurs façon de faire que ça :
Select T1, T2 From MaTable1 Where Macondition = c1
Select T1, T2 From MaTable1 Where Macondition = c2
Select T1, T2 From MaTable1 Where Macondition = c1, c2
Select T1, T2 From MaTable1 Where Macondition = c3
Select T1, T2 From MaTable1 Where Macondition = c1, c3
Select T1, T2 From MaTable1 Where Macondition = c1, c2, c3
A voir également:
- 120 Requete SQL
- Alcohol 120 - Télécharger - Émulation & Virtualisation
- Logiciel sql - Télécharger - Bases de données
- Blob sql ✓ - Forum Webmastering
- Fortnite bloqué a 120 fps - Forum Jeux vidéo
- 120 m3 en m2 ✓ - Forum Loisirs / Divertissements
3 réponses
Salut,
ce n'est pas 120 requêtes que tu dois écrire, mais (si je ne me trompe pas) :
5 + 10 + 10 + 5 + 1 = 31...
ce n'est pas 120 requêtes que tu dois écrire, mais (si je ne me trompe pas) :
5 + 10 + 10 + 5 + 1 = 31...
Non c'est vraiment 120 combinaisons (5 factorielle) = 5 ! = 120 possibilité
mais je sais qu'il doit exister une manière de faire en une seule fois.
Merci pour votre aide.
mais je sais qu'il doit exister une manière de faire en une seule fois.
Merci pour votre aide.
5!, c'est si tu utilises les 5 conditions en même temps (et que l'ordre est important), or ici, tu en utilises 1, 2, 3, 4 ou 5 et l'ordre n'a pas d'importance...
Tu as donc la somme de 5 combinaisons (en algèbre combinatoire, celle avec le C n k) :
C 1-5 + C 2-5 + C 3-5 + C 4-5 + C 5-5...
Et à moins de disposer d'un SQL procédural (PL/SQL), je ne vois pas comment faire autrement que par création des 31 requêtes...
Tu as donc la somme de 5 combinaisons (en algèbre combinatoire, celle avec le C n k) :
C 1-5 + C 2-5 + C 3-5 + C 4-5 + C 5-5...
Et à moins de disposer d'un SQL procédural (PL/SQL), je ne vois pas comment faire autrement que par création des 31 requêtes...
Merci @blux :
Je pense que même avec le principe de combinaisons on tombe bien sur 89 combinaisons possibles (cf.image)
[URL=http://www.hostingpics.net/viewer.php?id=55539484t3.png][IMG]http://img15.hostingpics.net/pics/55539484t3.png[/IMG][/URL]
Mais apparemment on m'a parlé que si j'utilisais le CROSS JOIN je pourrai faciliter les choses et utiliser une seule requête.
Je ne connais pas très bien le CROSS JOIN, mais je ne sais pas ce que ça va améliorer ? je pense que j'aurai toujours la pénible tâche de modifier autant de fois ma requête que de combinaisons possibles :)
Je pense que même avec le principe de combinaisons on tombe bien sur 89 combinaisons possibles (cf.image)
[URL=http://www.hostingpics.net/viewer.php?id=55539484t3.png][IMG]http://img15.hostingpics.net/pics/55539484t3.png[/IMG][/URL]
Mais apparemment on m'a parlé que si j'utilisais le CROSS JOIN je pourrai faciliter les choses et utiliser une seule requête.
Je ne connais pas très bien le CROSS JOIN, mais je ne sais pas ce que ça va améliorer ? je pense que j'aurai toujours la pénible tâche de modifier autant de fois ma requête que de combinaisons possibles :)