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 :

Requête pour récupérer les ID


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Requête pour récupérer les ID
    Bonjour,

    j'ai un problème pour concevoir une requête.

    Je possède une table Batches qui contient entres autres un champ ID, NumLot et un champ CodeProduit.

    Je voudrais à l'aide d'une requête récupérer tout les ID des couples ayant le même NumLot et le même CodeProduit.

    Par exemple, dans la table Batches il y a:
    ID1, NumLot1, CodeProduit1
    ID2, NumLot1, CodeProduit1
    ID3, NumLot1, CodeProduit3
    ID4, NumLot2, CodeProduit1
    ID5, NumLot2, CodeProduit1
    ID6, NumLot2, CodeProduit2
    ID7, NumLot2, CodeProduit2

    Dans cet exemple, la requête devrait pouvoir me retourner les ID 1, 2, 6, et 7

    Je ne vois pas comment réaliser cette requête.

    Merci de m'éclairer si vous le pouvez

  2. #2
    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
    Avec une sous-requête par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select *
    from <matable>
    where (NumLot, CodeProduit) IN
                (select NumLot, CodeProduit
                 from <matable>
                 group by NumLot, CodeProduit
                 having count(*) > 1)

  3. #3
    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
    Quoi qu'en relisant votre exemple j'ai un doute, c'est peut-être ça que vous voulez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM <matable>
    WHERE substr(NumLot, -1) = substr(CodeProduit, -1)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    C'est parfait en utilisant la 1ère de vos 2 requêtes

    Cependant, je n'arrive pas à comprendre l'utilisation des deux dernières lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                 GROUP BY NumLot, CodeProduit
                 HAVING count(*) > 1)

  5. #5
    Membre averti Avatar de xdescamp
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 300
    Points : 442
    Points
    442
    Par défaut
    Cela permet d'avoir les couples qui apparaissent plus d'une fois.

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

Discussions similaires

  1. Requête pour récupérer les noms des tables
    Par cendrine15 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/04/2012, 00h46
  2. [MySQL] Requête pour récupérer les informations d'un membre
    Par webamies dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 09/05/2009, 20h10
  3. Réponses: 1
    Dernier message: 10/10/2008, 08h18
  4. [MySQL] Requête pour récupérer toutes les valeurs d'un tableau
    Par djoumusic dans le forum PHP & Base de données
    Réponses: 40
    Dernier message: 24/08/2008, 22h11
  5. [MySQL] Requête pour récupérer les 5 derniers enregistrement dans l'ordre croissant
    Par Jonathan.b dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/01/2008, 09h50

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