Problème de sintaxe d'une requete imbriquée
Fermé
sebshiva
-
16 mars 2009 à 23:16
sebshiva Messages postés 194 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 juin 2010 - 18 mars 2009 à 17:12
sebshiva Messages postés 194 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 17 juin 2010 - 18 mars 2009 à 17:12
A voir également:
- Problème de sintaxe d'une requete imbriquée
- Liste imbriquée excel - Guide
- Requête sql date supérieure à ✓ - Forum Programmation
- Oliver vend des fleurs en ligne. la base de données de son site web comporte une table nommée fleur. dans le processeur de requête sql ci-dessous, écrivez la requête pour afficher uniquement les graminées dont le prix est strictement supérieur à 10. combien y en a-t-il ? - Forum Python
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de pomme mais pas de pomme de terre ? - Forum Thunderbird
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Loisirs / Divertissements
4 réponses
sebshiva
Messages postés
194
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
17 juin 2010
10
17 mars 2009 à 15:50
17 mars 2009 à 15:50
up!
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
18 mars 2009 à 14:29
18 mars 2009 à 14:29
Bonjour,
Avant de pouvoir de proposer une solution, voyons si j'ai bien compris ton problème. Si tu as un contact disons Dupont ayant comme id le n° 10, ayant deux n° de téléphones et trois adresses, tu veux avoir sur une seule ligne le résultat suivant:
10 , Dupont, Jean , téléphone1, type1 , téléphone2, type2, adresse1, ville1 , adresse2, ville2 , adresse3, ville3
C'est bien ça ?
A plus
Avant de pouvoir de proposer une solution, voyons si j'ai bien compris ton problème. Si tu as un contact disons Dupont ayant comme id le n° 10, ayant deux n° de téléphones et trois adresses, tu veux avoir sur une seule ligne le résultat suivant:
10 , Dupont, Jean , téléphone1, type1 , téléphone2, type2, adresse1, ville1 , adresse2, ville2 , adresse3, ville3
C'est bien ça ?
A plus
sebshiva
Messages postés
194
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
17 juin 2010
10
18 mars 2009 à 14:52
18 mars 2009 à 14:52
Exactement ;)
Merci de te pencher sur mon cas.
J'aurais pu faire d'autres select dans le mysql_fetch_array... ça ne me parait pas propre du tout (et bien trop gourmand en ressource suivant le nombre de resultat dans un autre cas) et je suis convaincu que c'est faisable en une requête... J'essaie d'apprendre...
Merci encore pour ton aide
Merci de te pencher sur mon cas.
J'aurais pu faire d'autres select dans le mysql_fetch_array... ça ne me parait pas propre du tout (et bien trop gourmand en ressource suivant le nombre de resultat dans un autre cas) et je suis convaincu que c'est faisable en une requête... J'essaie d'apprendre...
Merci encore pour ton aide
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
18 mars 2009 à 15:41
18 mars 2009 à 15:41
Bonjour,
Obtenir ce résultat avec une seule requête ne serait possible que si chaque contact n'avait qu'un seul n° de téléphone et une seule adresse, sinon tu obtiendras le résultat suivant:
10 , Dupont, Jean , téléphone1, type1 , adresse1, ville1
10 , Dupont, Jean , téléphone2, type2 , adresse2, ville2
10 , Dupont, Jean , adresse3, ville3
En faisant des requêtes imbriquées, tu dois arriver sans problème au résultat voulu et je ne pense pas que cela devrait avoir un impact sur le temps de réponse ou les ressources utilisées. Si tu veux je peux te donner les requêtes que j'utiliserais.
A plus
Obtenir ce résultat avec une seule requête ne serait possible que si chaque contact n'avait qu'un seul n° de téléphone et une seule adresse, sinon tu obtiendras le résultat suivant:
10 , Dupont, Jean , téléphone1, type1 , adresse1, ville1
10 , Dupont, Jean , téléphone2, type2 , adresse2, ville2
10 , Dupont, Jean , adresse3, ville3
En faisant des requêtes imbriquées, tu dois arriver sans problème au résultat voulu et je ne pense pas que cela devrait avoir un impact sur le temps de réponse ou les ressources utilisées. Si tu veux je peux te donner les requêtes que j'utiliserais.
A plus
sebshiva
Messages postés
194
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
17 juin 2010
10
18 mars 2009 à 15:43
18 mars 2009 à 15:43
Volontier!
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 389
18 mars 2009 à 17:02
18 mars 2009 à 17:02
Bonjour,
Le code devrait être a peu près le suivant (basé sur php)
A plus
Le code devrait être a peu près le suivant (basé sur php)
$resultat = mysql_query("SELECT id_contact , nom_contact, prenom_contact FROM contact where nom_contact LIKE \"%".$_POST['nom']."%\" OR prenom_contact like \"%".$_POST['nom']."%\"") ; while ($contact = mysql_fetch_array($resultat) ) { $personne = $contact['id_contact'] . ' ,' . $contact['nom_contact'] . ',' . $contact['prenom_contact']; $resultat1 = mysql_query("SELECT tel_tel, type_tel FROM tel WHERE id_contact = " .$contact['id_contact']); while ($tel = mysql_fetch_array($resultat1) ) { $personne = $personne . ',' . $tel['tel_tel'] . ',' . $tel['type_tel']; } $resultat1 = mysql_query("SELECT nom_adresse, ville_adresse FROM adresse WHERE id_contact = " .$contact['id_contact']); while ($adresse = mysql_fetch_array($resultat1) ) { $personne = $personne . ',' . $adresse['nom_adresse'] . ',' . $adresse['ville_adresse']; } echo $personne; }
A plus
sebshiva
Messages postés
194
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
17 juin 2010
10
18 mars 2009 à 17:12
18 mars 2009 à 17:12
Merci! Mais c'est exactement ce que je ne voulais pas faire...
Si il y a disons... 100 réponses...300 requêtes... c'est une catastrophe!
Je cherche donc la syntaxe pour mettre tout ça dans une seule requête.
Merci quand même
Si il y a disons... 100 réponses...300 requêtes... c'est une catastrophe!
Je cherche donc la syntaxe pour mettre tout ça dans une seule requête.
Merci quand même
17 mars 2009 à 19:37
18 mars 2009 à 13:37
18 mars 2009 à 14:07
Personne??
Ma faute est trop bête?? :(
~~(-_-)~~