Commande SQL
stevengren
Messages postés
176
Statut
Membre
-
BadGuitarist Messages postés 373 Statut Membre -
BadGuitarist Messages postés 373 Statut Membre -
Bonjour,
j'ai une base de données contenant des triangles et la mesure des trois cotés c'est-à-dire le CoteA, Coteb coteC . Je dois récupérer tous les triangle isométrique dans ma base c'est-à-dire que je dois récupérer les triangle qui par exemples A=2 B=3 C=4 et A=2 B=3 C=4 C'est 2 triangle sont isométriques car le triangle est identique mes ses cotés sont dans un ordre différent.
Les triangles suivant sont isométrique
A=2 b=3 c=4
a=3 b=2 c=4
a=4 b=2 c=3
a=2 b=4 c=2
Je n'arrive pas a faire de commande select pour récupéré seulement les triangles isométrique
Select * from Triangle where ??????
j'ai une base de données contenant des triangles et la mesure des trois cotés c'est-à-dire le CoteA, Coteb coteC . Je dois récupérer tous les triangle isométrique dans ma base c'est-à-dire que je dois récupérer les triangle qui par exemples A=2 B=3 C=4 et A=2 B=3 C=4 C'est 2 triangle sont isométriques car le triangle est identique mes ses cotés sont dans un ordre différent.
Les triangles suivant sont isométrique
A=2 b=3 c=4
a=3 b=2 c=4
a=4 b=2 c=3
a=2 b=4 c=2
Je n'arrive pas a faire de commande select pour récupéré seulement les triangles isométrique
Select * from Triangle where ??????
A voir également:
- Commande SQL
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Commande scannow - Guide
- Logiciel sql - Télécharger - Bases de données
4 réponses
Une solution bestiale...
Bonne continuation.
SELECT * FROM triangle WHERE (a=2 OR b=2 OR c=2) AND (a=3 OR b=3 OR c=3) AND (a=4 OR b=4 OR c=4);En attendant une meilleure solution.
Bonne continuation.
Il le seraient si la somme de leur coté été égale?
ou y a t'il des possibilités a=1,5 b=3,5 c=4?
http://dev.mysql.com/doc/refman/5.0/fr/searching-on-two-keys.html
ou y a t'il des possibilités a=1,5 b=3,5 c=4?
http://dev.mysql.com/doc/refman/5.0/fr/searching-on-two-keys.html
Les coté sont simplement des int (je n'ai pas de float) et sa ne fonctionne pas seulement avec la somme des coté car par exemple
A=10 b = 4 c=2 la somme = 16
et le triangle
A=9 b= 5 c=2 la somme est aussi de 16 alors que les triangles ne sont pas isométrique
c'est la que je suis vraiment embêter
A=10 b = 4 c=2 la somme = 16
et le triangle
A=9 b= 5 c=2 la somme est aussi de 16 alors que les triangles ne sont pas isométrique
c'est la que je suis vraiment embêter
Bonsoir stevengren,
En faisant appel à du SQL standard, pour faire le recherche que tu demandes, il te faut parcourir plusieurs fois ta table Triangle.
Remarque : présentement, je te donne l'idée générale de mon idée;
demain, si le sujet est toujours ouvert, je tenterai de t'apporter une solution.
SELECT T1.a, T1.b, T1.c
FROM triangle T1, -- sert pour étudier tous les triangles référencés
triangle T2 -- sert de table de comparaison
WHERE ( T1.a = T2.a -- Cas 1 : les triangles ont le même a
AND T1.b = T2.c
AND T1.c = T2.b )
OR ( T1.b = T2.b -- Cas 2 : les triangles ont le même b
AND T1.a = T2.c
AND T1.c = T2.b )
OR ( T1.c = T2.c -- Cas 3 : les triangles ont le même c
AND T1.a = T2.b
AND T1.b = T2.a )
OR ( toutes les autres combinatoires possibles )
Remarque : T1 et T2 sont bien 2 références sur la même table triangle.
A cette heure-ci, sans avoir fait de tests, cela me semble pas trop stupide ;-)
Bon courage.
Cordialement,
BG.
En faisant appel à du SQL standard, pour faire le recherche que tu demandes, il te faut parcourir plusieurs fois ta table Triangle.
Remarque : présentement, je te donne l'idée générale de mon idée;
demain, si le sujet est toujours ouvert, je tenterai de t'apporter une solution.
SELECT T1.a, T1.b, T1.c
FROM triangle T1, -- sert pour étudier tous les triangles référencés
triangle T2 -- sert de table de comparaison
WHERE ( T1.a = T2.a -- Cas 1 : les triangles ont le même a
AND T1.b = T2.c
AND T1.c = T2.b )
OR ( T1.b = T2.b -- Cas 2 : les triangles ont le même b
AND T1.a = T2.c
AND T1.c = T2.b )
OR ( T1.c = T2.c -- Cas 3 : les triangles ont le même c
AND T1.a = T2.b
AND T1.b = T2.a )
OR ( toutes les autres combinatoires possibles )
Remarque : T1 et T2 sont bien 2 références sur la même table triangle.
A cette heure-ci, sans avoir fait de tests, cela me semble pas trop stupide ;-)
Bon courage.
Cordialement,
BG.