Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête SQL - Distinct

Sujet résolu
    12 novembre 2010 à 16:13:43

    Bonjour à tous,
    Voilà je ne suis pas une bête en SQL et je désire réaliser une sélection un peu spéciale. Seulement je ne sais pas trop comment faire.

    J'ai une table qui ressemble à ça :

    id | en_city | fr_city
    ---------------------------------


    - Il est possible que les deux champs d'une même ligne soient remplis.
    - L'un des deux champs est toujours (au moins) rempli.


    Je désire sélectionner tous les champs distinctement pour créer une liste déroulante.
    Seulement j'y arrive pas trop.
    Voici ma requête actuelle :

    <?php
    $sql = "SELECT DISTINCT en_city,fr_city FROM recruitment WHERE country='".$country."'"
    ?>
    



    Celle-ci me renvoie un doublon, dans le cas ou il y aurait un champ en_city et un champ fr_city identiques.
    Le problème est que je ne sais pas comment joindre la commande SQL pour les deux champs en même temps ?


    Quelqu'un connait-il une syntaxe particulière ou une commande pour faire ce que je souhaite ?

    D'avance merci.
    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2010 à 19:10:01

      Pourrais-tu nous donner un exemple de ce que tu veux faire ? DISTINCT supprime les tuples de valeurs identiques. Pour (1,2) et (1,2), un seul des deux serait sélectionné. Pour (1,2) et (2,1), les deux le seraient et c'est tout à fait normal.

      P.S. Mauvais forum, si tu demandes une requête SQL, dirige-toi vers le forum Base de données.
      • Partager sur Facebook
      • Partager sur Twitter
        13 novembre 2010 à 16:49:15

        GROUP BY ne sert pas à supprimer les doublons.
        • Partager sur Facebook
        • Partager sur Twitter
          13 novembre 2010 à 18:04:06

          > Je désire sélectionner tous les champs distinctement pour créer une liste déroulante.

          Je suppose que tu préfères avoir la ville française plutôt que l'anglaise :

          SELECT DISTINCT COALESCE( fr_city, en_city ) FROM ...
          
          • Partager sur Facebook
          • Partager sur Twitter
            14 novembre 2010 à 17:09:43

            Donc si je comprend bien d'après la doc cette fonction retourne la première valeur non nulle de la liste, sauf si tout est null.

            Nickel c'est exactement ce qu'il me fallait !

            Merci à tous pour votre aide.
            • Partager sur Facebook
            • Partager sur Twitter

            Requête SQL - Distinct

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown