Requêtes avancées : jointure ou pas ?
Résolu/Fermé
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
-
29 mars 2015 à 15:46
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 29 mars 2015 à 17:01
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 29 mars 2015 à 17:01
A voir également:
- Requêtes avancées : jointure ou pas ?
- Accéder aux options de démarrage avancées de windows 10 - Guide
- Nos systèmes ont détecté un trafic exceptionnel sur votre réseau informatique. cette page permet de vérifier que c'est bien vous qui envoyez des requêtes, et non un robot. que s'est-il passé ? - Forum Virus
- Alerte récurrente Google : trafic exceptionnel sur le réseau - Forum MacOS
- Expliquez les différences entre les différentes requêtes ✓ - Forum Réseaux sociaux
- N26 votre appareil a envoyé trop de requêtes sur une courte période de temps. veuillez patienter. - Forum Consommation & Internet
1 réponse
Utilisateur anonyme
Modifié par le père. le 29/03/2015 à 16:24
Modifié par le père. le 29/03/2015 à 16:24
Bonjour zipe
Pas essayé, mais à vue de nez :
L'idée est de dire avec le inner join quelle est la deuxième table et avec le ON le critère qui relie les deux tables. Par ailleurs, pour éviter les ambiguïtés, il est bon de préciser table.champ au lieu du nom de champ seul quand le même nom apparaît dans les deux.
Je ne suis pas spécialiste non plus, les puristes amélioreront. En particulier je crois que quand le champ qui sert à la jointure est le même dans les deux tables, un
Pas essayé, mais à vue de nez :
select Client.code_vendeur,nom_vendeur, count(Client.code_vendeur) from Client INNER JOIN Vendeur ON Client.code_vendeur=Vendeur.code_vendeur \ group by Client.code_vendeur having count(Client.code_vendeur) >= 3;
L'idée est de dire avec le inner join quelle est la deuxième table et avec le ON le critère qui relie les deux tables. Par ailleurs, pour éviter les ambiguïtés, il est bon de préciser table.champ au lieu du nom de champ seul quand le même nom apparaît dans les deux.
Je ne suis pas spécialiste non plus, les puristes amélioreront. En particulier je crois que quand le champ qui sert à la jointure est le même dans les deux tables, un
ON code_vendeurest suffisant. Et qu'avec un alias, l'écriture pourrait être un peu allégée.
29 mars 2015 à 16:24
Question subsidiaire : Si je ne veux que le nom du vendeur en sortie, comme apparemment les champs affichés sont déclarés dans le , comment doit-on s'y prendre ?
Merci encore.
29 mars 2015 à 16:26
Select nom_vendeur FROM et le reste de la requête inchangé.
Modifié par zipe31 le 29/03/2015 à 16:31
Merci beaucoup le père, bonne fin d'après-midi.
29 mars 2015 à 16:36
Tu m'étonnes beaucoup,là, je ne vois pas le rapport.
Tu peux me coller le message d'erreur ? Ça m'évitera de créer les tables pour le refaire, parce que je n'aime pas ne pas comprendre.
Merci d'avance.
29 mars 2015 à 16:46
Toutes mes plates et mes confuses ;-[
J'étais persuadé qu'il fallait à tous prix que le champ du SELECT corresponde avec la table du FROM, mais apparemment ce n'est pas le cas, à cause du INNER JOIN ?