Aide pour requête sql
Résolu
974warrior
-
dna.factory Messages postés 29225 Date d'inscription Statut Modérateur Dernière intervention -
dna.factory Messages postés 29225 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai besoin d'une petite aide pour une requête sql, alors dans ma base il y 3 tables, client(NomClient, PrenomClient, AdresseClient), catalogue(NumCatalogue, NomCatalogue) et demande(NumCatalogue, NomClient, PrenomClient). quelle serait la requête pour obtenir la liste des clients (nom, prenom, adresse) qui ont demandé le catalogue montagne?
Dans ma table catalogue il y a NumCatalogue.............NomCatalogue......
................................................ 1 ............. mer ......
................................................ 2 ............. montagne ......
Merci d'avance pour vos réponses à bientôt.
j'ai besoin d'une petite aide pour une requête sql, alors dans ma base il y 3 tables, client(NomClient, PrenomClient, AdresseClient), catalogue(NumCatalogue, NomCatalogue) et demande(NumCatalogue, NomClient, PrenomClient). quelle serait la requête pour obtenir la liste des clients (nom, prenom, adresse) qui ont demandé le catalogue montagne?
Dans ma table catalogue il y a NumCatalogue.............NomCatalogue......
................................................ 1 ............. mer ......
................................................ 2 ............. montagne ......
Merci d'avance pour vos réponses à bientôt.
A voir également:
- Aide pour requête sql
- Logiciel sql - Télécharger - Bases de données
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Cherche des haricot vendez les moi ✓ - Forum DS
2 réponses
version courte
select client.* from client, demande
where client.NomClient=demande.NomClient
and demande.NumCatalogue=2
version longue
select client.* from client, demande, catalogue
where client.NomClient=demande.NomClient
and demande.NumCatalogue=catalogue.NumCatalogue
and catalogue.NomCatalogue='montagne'
par contre, pense à mettre en place un IdClient pour ta table client, car on n'utilise jamais un nom en clé primaire.
Stop failing the turing test !
select client.* from client, demande
where client.NomClient=demande.NomClient
and demande.NumCatalogue=2
version longue
select client.* from client, demande, catalogue
where client.NomClient=demande.NomClient
and demande.NumCatalogue=catalogue.NumCatalogue
and catalogue.NomCatalogue='montagne'
par contre, pense à mettre en place un IdClient pour ta table client, car on n'utilise jamais un nom en clé primaire.
Stop failing the turing test !
Est ce qu'il y a moyen de changer la structure de la table?
Est ce que montagne sera toujours équivalent à 2?
Tu peux faire un SELECT * FROM demande WHERE numCatalogue='2';
tu fais une boucle pour afficher les résultats.
Si tu veux l'adresse, dans ta boucle tu fais un select pour trouver l'adresse de l'utilisateur courant.
Est ce que montagne sera toujours équivalent à 2?
Tu peux faire un SELECT * FROM demande WHERE numCatalogue='2';
tu fais une boucle pour afficher les résultats.
Si tu veux l'adresse, dans ta boucle tu fais un select pour trouver l'adresse de l'utilisateur courant.
merci
where client.NomClient=demande.NomClient
and demande.NumCatalogue=catalogue.NumCatalogue
A bientôt!
C'est quoi cette requête complétement inutile????Aucun intérêt de l'écrire....
un peu d'étude de la requête te donnerais la raison
en fait la version longue est la vraie réponse à la question.
la question demande les infos pour le catalogue montagne, pas pour le catalogue numéro 2
pour faire la requête en version courte, il est nécessaire de connaitre la table
si c'est faisable quand y'en a deux, c'est beaucoup plus dur quand tu travailles sur 35 000 lignes.