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 :

Chercher les doublons


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Juillet 2020
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 142
    Points : 83
    Points
    83
    Par défaut Chercher les doublons
    Bonjour à tous,


    Je bloque sur une chose bête, je suis sur sqldevelper et je suis sur une requête qui n'affiche rien alors que je sais qu'il des valeurs en doublon, mais la valeur et différente, je m'explique, j'ai des articles et j'ai deux stocks est donc les valeurs sont diffèrent et mon but est de trouver les articles qui sont présents dans ces stocks.

    Donc ils sont considérés comme doublons, car un article ne peut pas être sur deux stocks différents et donc pour cela, j'ai fait cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT articles FROM table where code_lieu='lieu1' AND code_lieu= 'lieu2'
    Mais la requête m'affiche rien, je ne trouve pas ça normal.

    Merci par avance de vos réponses

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    OR pas AND

  3. #3
    Membre régulier
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Juillet 2020
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    Mais le AND c'est 'et' non donc si on suit la logique on chercher dans les deux

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 256
    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 256
    Points : 12 919
    Points
    12 919
    Par défaut
    Bonjour,
    S'il sont présents dans les deux stock, la requête ne fonctionne ni:
    • Avec un AND, car pour une ligne donnée la colonne ne peut pas avoir 2 valeurs différente
    • Ni avec un OR, sinon on récupère les lignes qui sont au moins dans un des deux stocks

    Ici on peut utiliser un count:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select col1,count(distinct col2)
    from LaTable
    where col2 in ('val1','val2')
    group by col1
    having count(distinct col2) = 2

    Tatayo.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 159
    Points : 1 949
    Points
    1 949
    Par défaut
    Bonjour,

    En fait tu veux vérifier s'il est présent dans les 2 ? Pour cela il faut que tu vérifies avec count par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT articles FROM table where code_lieu in ('lieu1', 'lieu2') group by articles having count(*) > 1;

  6. #6
    Membre régulier
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Juillet 2020
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    Merci pour vos réponses, je vais prendre la dernière qui à était proposer.

  7. #7
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Ou avec les patates (gestion des ensembles)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT articles FROM table where code_lieu = 'lieu1'
    INTERSECT
    SELECT articles FROM table where code_lieu = 'lieu2'

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 899
    Points : 53 140
    Points
    53 140
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par azaouali Voir le message
    Mais le AND c'est 'et' non donc si on suit la logique on chercher dans les deux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM   UtilisateurDeveloppez
    WHERE  nom = 'azaouali'
       AND  SEXE = 'mâle' 
       AND  SEXE = 'femelle'
    Pense tu que ton nom va sortir en réponse à cette requête ?

    Autrement dit, es-tu à la fois mâle et femelle ?

    C'est une simple question de logique mathématique.

    A +

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

Discussions similaires

  1. [ZF 1.11] chercher les doublons des noms d'images uplader
    Par keokaz dans le forum Zend Framework
    Réponses: 4
    Dernier message: 02/08/2011, 20h36
  2. chercher les doublons sur plusieurs feuilles
    Par huître dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/06/2011, 15h48
  3. comment chercher les doublons sur deux champs (ou plus)
    Par alili mostafa dans le forum Bases de données
    Réponses: 4
    Dernier message: 31/05/2010, 19h09
  4. [WD12] Chercher les doublons dans un fichier texte
    Par matt1704 dans le forum WinDev
    Réponses: 17
    Dernier message: 11/06/2009, 08h31
  5. Chercher les doublons de photos et d’image
    Par tit_lezard dans le forum Windows XP
    Réponses: 8
    Dernier message: 23/04/2007, 01h31

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