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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Juillet 2020
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juillet 2020
    Messages : 142
    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 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    OR pas AND

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

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

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

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    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 Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 175
    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 175
    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 confirmé
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Juillet 2020
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juillet 2020
    Messages : 142
    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 confirmé

    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
    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 998
    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 998
    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 +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ 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