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

MS SQL Server Discussion :

Clause Distinct ne fonctionne pas su SELECT multiple


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Avatar de fabou3377
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 182
    Points : 280
    Points
    280
    Par défaut Clause Distinct ne fonctionne pas su SELECT multiple
    Bonjour je n'arrive pas à faire une clause distinct sur la table suivante:

    tb_produits(IPproduit,famille,produit,execution)

    voici ma requête:

    SELECT DISTINCT IDproduits, produit FROM tb_produits WHERE (famille='VR')

    J'aimerais le résultat soit de la forme (IDproduit,produit) et que les doublons n'apparaissent pas dans produit, le tout filtré par famille.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Qu'est-ce qui ne marche pas au juste ? A première vue la syntaxe est correcte.

    Ceci donne le même résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT IDproduits, produit 
    FROM dbo.tb_produits 
    WHERE famille='VR'
    GROUP BY IDproduits, produit 
    ORDER BY IDproduits, produit

  3. #3
    Membre actif
    Avatar de fabou3377
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 182
    Points : 280
    Points
    280
    Par défaut
    Voici le résultat de la requête que tu m'a donnée:
    IDproduit Produit
    1 VA2C
    2 VA2C
    3 MICR
    4 MICR

    Ce que j'aimerais

    IDproduit Produit
    1 VA2C
    3 MICR

    Donc que les doublons ne soient pas sélectionnés

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    ben c'est plus la même question...
    Parce qu'il te faut choisir le min des IDPrduit !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select MIN(IDProduit) as IDProduit, Produit
    from tbl_Produits
    WHERE famille='VR'
    group by Produit
    order by MIN(IDProduit)

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Ah. J'ai pris une grande respiration !

    Il n'y a pas de doublons dans

    IDproduit Produit
    1 VA2C
    2 VA2C
    3 MICR
    4 MICR

    ...

    Ce que tu veux si je comprends bien, c'est ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT MIN(IDproduits) as IDproduits, produit 
    FROM dbo.tb_produits 
    WHERE famille='VR'
    GROUP BY produit 
    ORDER BY produit
    Moralité, ce n'est pas le DISTINCT qui ne fonctionne pas, c'est SQL Server qui n'a pas deviné ce que tu voulais

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    trop tard RUDI !

  7. #7
    Membre actif
    Avatar de fabou3377
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 182
    Points : 280
    Points
    280
    Par défaut
    Merci Mr. ça marche nickel...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] SELECT DISTINCT ne fonctionne pas ?
    Par oOXimOo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/06/2010, 16h37
  2. mon DISTINCT ne fonctionne pas
    Par beegees dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/01/2009, 21h06
  3. Fonction DISTINCT ne fonctionne pas sur une date
    Par cramouille dans le forum Access
    Réponses: 5
    Dernier message: 25/10/2006, 15h42
  4. la clause MINUS ne fonctionne pas
    Par requiemforadream dans le forum ASP
    Réponses: 5
    Dernier message: 29/04/2005, 15h41
  5. Réponses: 13
    Dernier message: 20/07/2004, 08h54

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