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 :

[SQL] ligne dont la valeur d'un champ est unique


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [SQL] ligne dont la valeur d'un champ est unique
    Bonjour
    J’aimerai remonter toutes les lignes d'une table dont la veleur pour un colonne donnée est unique dans la table.
    En fait j’aimerai faire :
    SELECT num, count(*) FROM matable group by num HAVING count(*)=1 ;

    Le problème est que cette requête renvoie les num et le nombre d’occurrence (ici 1)
    Or moi je veux juste sélectionner les lignes sans le nombre d’occurrence, j’ai donc essayé :
    SELECT * FROM matable WHERE num IN (SELECT num, count(*) FROM matable group by num HAVING count(*)=1 )

    Mais cela ne fonctionne pas.
    Si j’ai été assez clair, est ce que qqun aurait une solution

    merci

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Salut,

    Pour les requêtes, merci d'utiliser la balise code plutôt que le gras.

    Il suffit de ne pas spécifier le count(*) dans la liste des champs, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT num FROM matable group by num HAVING count(*)=1 ;
    Est-ce que la requête suivante répond à ta question ? Sinon je n'ai pas compris ...

    Mais cela ne fonctionne pas.
    Dans un tel cas, préciser le SGBD, l'erreur rencontrée ou le résultat obtenu, etc., merci

    [edit]
    J'ai réfléchi un peu, et je pense avoir compris : essaye plutôt ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
      FROM matable
     WHERE num IN (SELECT num FROM matable group by num HAVING count(*)=1 )
    [/edit]
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci
    Désolé pour les formalités d'usage
    je ne peux malheureusement pas tester pour des pb de server mais je tiendrai au courrant des que possible

    au le sgbd est DB2

    merci encore

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/11/2013, 14h37
  2. Supprimer les lignes dont la valeur du deuxième champ est égale à 13
    Par mond14 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/05/2013, 13h26
  3. [XL-2000] Suppression de lignes dont la valeur d'une colonne est particulière
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/01/2010, 20h35
  4. Réponses: 7
    Dernier message: 27/06/2006, 20h43
  5. [SQL] récuperer la derniére valeur d'un champ autoincrément
    Par belakhdarbts dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 26/06/2006, 13h37

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