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 :

Récupérer la date minimum d'une sous-table


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut Récupérer la date minimum d'une sous-table
    Bonjour,

    Je suis bloque pour recuperer la date minimum d'une sous-table (sans duplique ma requete), que je voudrais utiliser dans ma clause where pour filter mes donnees.

    Voici ma solution:

    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
    19
    20
    21
    22
     
    SELECT
        ga.id,
        sum(ga.total) as total
    FROM
        table1 ga,
        (select dfp_id__c, start_date__c 
        from table2
        where dfp_id__c IN (5000033657)) oms
    WHERE
        ga.ad_id = oms.dfp_id__c
    AND ga.source_id > 0 
    and ga.date >= 
    (select min(oms.start_date__c) 
    from (    
        (select dfp_id__c, start_date__c 
        from table2
        where dfp_id__c IN (5000033657)) oms)
    )
    AND ga.date <= to_date('02/02/2011')
    GROUP BY
        ga.id
    Mais je pense qu'il y a un moyen plus propre pour faire cela.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Utilisez Min sous sa forme de fonction analytique.

  3. #3
    Membre confirmé Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Voici ma solution en utilisant min comme fonction analytique mais sa prend 10 fois plus de temps a s'executer. Je pense que je ne dois pas l'utiliser de la bonne facon.

    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
        ga.ad_id,
        ga.creative_id,
        sum(ga.total_impressions) as total_impressions,
        sum(ga.total_clicks) as total_clicks
    FROM
        table1 ga,
        (select dfp_id__c, min(start_date__c) over() as min_start_date
        from table2
        where dfp_id__c IN (5000033657,5000006679, 5000026560)) oms
    WHERE
        ga.ad_id = oms.dfp_id__c
    AND ga.source_id > 0
    and ga.date_id >= to_number(to_char(oms.min_start_date,'YYYYMMDD'), 99999999)
    AND ga.date_id <= 20110518
    GROUP BY
        ga.ad_id,
        ga.creative_id;

Discussions similaires

  1. [AC-2010] Récupérer une valeur d'une sous-Table dans la table mère
    Par WSAL74 dans le forum Access
    Réponses: 14
    Dernier message: 18/02/2014, 14h20
  2. Réponses: 1
    Dernier message: 09/10/2008, 19h04
  3. afficher une date contenue dans une autre table..
    Par gide_x dans le forum Requêtes
    Réponses: 0
    Dernier message: 23/08/2008, 23h36
  4. Comment récupérer des données, les comparer à une autre table.
    Par soria_t dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/08/2008, 17h58
  5. récupérer juste les données d'une autre table
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 13/09/2005, 14h52

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