IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème requête group by


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Problème requête group by
    Bonjour à tous,

    Voici mon léger problème
    je possède une base de données comportant les tables et attributs suivants :
    Compoignes (idpoint, idligne, rang)
    Rivieres (nom, idligne, idmer)
    Je cherche les confluents des rivières en faisant la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT C1.idpoints, R1.nomriv, R2.nomriv
    From compolignes as C1, compolignes as C2, rivieres as R1, rivieres as R2
    Where C1.idlignes = R1.idlignes
    AND C2.idlignes = R2.idlignes
    AND C1.idpoints = C2.idpoints
    AND R1.nomriv <> R2.nomriv
    GROUP BY C1.idpoints, R1.nomriv, R2.nomriv
    Il me retourne alors :
    idpoints,    nomriv,    nomriv 
    2              rhone       saone
    2              saone       rhone
    9              rhone       isere
    9              isere      rhone
    Seulement je n'aimerais avoir qu'un seul enregistrement par idpoint, avez vous une solution ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 814
    Points
    17 814
    Par défaut
    Remplacez R1.nomriv <> R2.nomriv par R1.nomriv > R2.nomriv.

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par julienr2512 Voir le message
    Je cherche les confluents des rivières en faisant la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT C1.idpoints, R1.nomriv, R2.nomriv
    From compolignes as C1, compolignes as C2, rivieres as R1, rivieres as R2
    Where C1.idlignes = R1.idlignes
    AND C2.idlignes = R2.idlignes
    AND C1.idpoints = C2.idpoints
    AND R1.nomriv <> R2.nomriv
    GROUP BY C1.idpoints, R1.nomriv, R2.nomriv
    Pourquoi autant de tables dans la pointure. Peux tu illustrer ton cas en montrant le resultat voulu?
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    De mon côté je demande surtout à quoi sert la clause GROUP-BY, vu qu'il n'y a aucune fonction d'aggrégation... Un distinct ne sera pas plus approprié ?

    Tatayo.

Discussions similaires

  1. Problème sur une requête (GROUP BY)
    Par Le-DOC dans le forum SQL
    Réponses: 5
    Dernier message: 12/04/2012, 17h09
  2. [Oracle 10g] Problème Union-sous requêtes-group by
    Par slobberbone dans le forum SQL
    Réponses: 2
    Dernier message: 17/09/2007, 19h16
  3. Problème requête avec group by et distinct
    Par tomca dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/07/2005, 17h10
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 12h02
  5. Réponses: 8
    Dernier message: 23/10/2003, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo