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

SQL Oracle Discussion :

Doublons lignes SQL


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut Doublons lignes SQL
    Bonjour,

    J'ai crée la requête suivante qui me permet de ressortir l'anomalie suivante : Lorsque le code_article et le code_article1 sont identiques mais que libelle_article et le libelle_article1 sont différents alors la requête SQL me sort bien le résultat que je souhaite.

    Nom : 1.JPG
Affichages : 256
Taille : 25,8 Ko

    Mon problème est le suivant:
    Je compare la code article de la table (PRODUIT) avec la même colonne sur laquelle j'ai mis un alias.
    Désormais ça me sort tout en doublons, je souhaitais savoir si vous aviez une autre idée pour ne plus avoir ces doublons.

    Voici ma requête SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SELECT DISTINCT M.GL_CATEGORY_CD,M.MATERIAL_ID,M.MATERIAL_LONG_CD,M.MATERIAL_CAT12_CD ,M.MATERIAL_CAT13_CD,M.MATERIAL_CAT11_CD,
    M.MATERIAL_CAT1_CD,A.EAN_CD,V.EAN_CD AS CODE_EAN_UC,A.EAN_TYPE_CD AS EAN_TYPE_CO,A.PCB_CD,M.MATERIAL_TYPE_CD
    FROM MATERIAL M
    INNER JOIN ARTICLES_EAN A ON  M.MATERIAL_SID=A.MATERIAL_SID
    INNER JOIN ARTICLES_EAN V ON  M.MATERIAL_SID=V.MATERIAL_SID
    WHERE M.MATERIAL_CAT12_CD<>'ZZ'
    AND A.EAN_TYPE_CD ='UC'
    AND V.EAN_TYPE_CD = 'UC'
    AND A.EAN_CD <>V.EAN_CD
    AND (M.GL_CATEGORY_CD IN(
          SELECT DISTINCT CODE_DONNEE_JDE
          FROM LIBELLES_JDE
          WHERE CODE_SYSTEME = '56' and TYPE_DONNEE_JDE = '43')     
    AND M.MATERIAL_TYPE_CD IN(
    SELECT DISTINCT CODE_DONNEE_JDE
          FROM LIBELLES_JDE
          WHERE CODE_SYSTEME = '56' and TYPE_DONNEE_JDE = '62')
        )  ;

    Je me suis également permis de mettre un screen de ma requête.

    La requête me sort bien ce que je souhaite, sauf que lorsque l'on regarde au niveau des colonnes LIBELLE_ARTICLES et LIBELLE_ARTICLES2, on voit que c'est exactement les mêmes chiffre sauf qu'ils sont inversés.

    Ainsi je souhaiterai garder uniquement une ligne sur les deux.

    Merci d'avance pour votre aide

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    si j'ai bien compris, il vous suffit de remplacer AND A.EAN_CD <>V.EAN_CD par AND A.EAN_CD >V.EAN_CD

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut Reponse aieeeuuuuu
    Merci aieeeuuuuu pour ta réponse, qui a magnifiquement bien marché et de ce fait à résolu mon problème.

    Je souhaitais savoir justement sous SQL, ce que signifiait le ">" ? Enfin si tu pourrais m'expliquer un peu plus.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    ">" signifie "supérieur à", comme dans les autres langages.

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut Reponse aieeeuuuuu
    Merci aieeeuuuuu pour cette réponse pertinente.

    Je sais très bien que le ">" signifie supérieur !


    Ce que je voulais savoir c'est que au niveau de mon code SQL, comme ce dernier comprend qu'il doit prendre tout ce qui est différent uniquement avec ">" ? pourquoi ne pas lui préciser AND A.EAN_CD <>V.EAN_CD , AND A.EAN_CD >V.EAN_CD ?

  6. #6
    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 820
    Points
    17 820
    Par défaut
    Parce que A > B entraîne nécessairement que A <> B.

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut Merci Waldar
    Merci waldar pour cette information

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

Discussions similaires

  1. Affichage lignes SQL sans doublons
    Par Aquellito dans le forum ASP
    Réponses: 2
    Dernier message: 23/03/2009, 16h11
  2. Doublon Suppression SQL
    Par Accessbaby dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 24/07/2006, 16h14
  3. Remplacer doublons lignes par zone de liste
    Par toto10 dans le forum Access
    Réponses: 5
    Dernier message: 13/07/2006, 12h19
  4. Doublon dans Sql Serveur 2000
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/03/2006, 17h51
  5. Comment effacer les Doublons en SQL
    Par LeBigornot dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/05/2005, 10h22

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