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 :

Sous-requête


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    chargé d'études statistiques et marketing
    Inscrit en
    Avril 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : chargé d'études statistiques et marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 74
    Par défaut Sous-requête
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select count(*) from D_CONTRAT_EVOL e 
    inner join 
    (select * from D_CONTRAT_PERMANENT where flag_rgpd = '1' )as p
    on p.numcon=e.numcon;
    j'ai 2 tables
    la table permanent contient une colonne (flag_rgpd) contenant des vides et des 1
    je souhaite trouver les lignes (numcon) en commun entre les 2 tables où flag_rgpd='1' dans la d_contrat_permanent

    merci pour votre aide

  2. #2
    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,
    Pourquoi cherches-tu à utiliser une sous-requête ?
    Une simple jointure fera très bien l'affaire ici.

    Tatayo.

  3. #3
    Membre confirmé
    Femme Profil pro
    chargé d'études statistiques et marketing
    Inscrit en
    Avril 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : chargé d'études statistiques et marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 74
    Par défaut
    il y a une condition dans l'une des 2 tables je ne veux pour la colonne rgpd_flag que les 1 donc pas toute la table

  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
    Je ne vois pas trop ce que ça change ici.
    Pourquoi cette requête ne convient pas ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select count(*) from D_CONTRAT_EVOL e 
    inner join D_CONTRAT_PERMANENT as p on 
    on p.numcon=e.numcon;
    where p.flag_rgpd = '1'

    Si tu veux le nombre de ligne (numcon) en commun, il faut utilise un COUNT(DISTINCT numcon):

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select COUNT(DISTINCT numcon) from D_CONTRAT_EVOL e 
    inner join D_CONTRAT_PERMANENT as p on 
    on p.numcon=e.numcon;
    where p.flag_rgpd = '1'

    Tatayo.

  5. #5
    Membre confirmé
    Femme Profil pro
    chargé d'études statistiques et marketing
    Inscrit en
    Avril 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : chargé d'études statistiques et marketing

    Informations forums :
    Inscription : Avril 2015
    Messages : 74
    Par défaut
    Effectivement j'ai cherché compliqué
    Je cherche à utiliser les sous-requêtes pour progresser


    ça dit qu'il manque un mot clé

  6. #6
    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
    Il ne manque pas de mot clé, j'ai fait une erreur de copier/coller. Il y a deux ON dans la jointure, et il reste un point-virgule qui n'a rien à faire ici...
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select count(*) 
    from D_CONTRAT_EVOL e 
    inner join D_CONTRAT_PERMANENT as p
    	on p.numcon=e.numcon
    where p.flag_rgpd = '1'

    Ça devrait être mieux ainsi.

    Tatayo.

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

Discussions similaires

  1. [MFC] [API mySQL] Sous requêtes
    Par Guybrush113 dans le forum MFC
    Réponses: 5
    Dernier message: 29/04/2004, 16h14
  2. Problème DBExpress et sous requêtes ???
    Par Trulane dans le forum Bases de données
    Réponses: 5
    Dernier message: 26/03/2004, 14h40
  3. Requêtes et sous requêtes
    Par lau2nyce dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/03/2004, 15h14
  4. suppression avec sous requête conditionnelle
    Par melmel dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/03/2004, 23h20
  5. Réponses: 3
    Dernier message: 18/05/2003, 00h16

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