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

Oracle Discussion :

Exécution selon sous-requête


Sujet :

Oracle

  1. #1
    Membre actif
    Inscrit en
    Juillet 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 60
    Par défaut Exécution selon sous-requête
    Bonjour,

    j'aimerais connaitre la syntaxe pour une instruction qui s’exécute selon le résultat d'une sous requête, exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select * from file
    where date < '31-01-12'
    and IF (select count(*) from file where date between '01-10-11' and '31-10-11') <> 0
    le difficulté est de borner la requête sur une date et de tester la présence de mouvement pendant une période différente.

    merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Faites-vous une faveur, écrivez vos dates convenablement.

    Pour votre soucis, utilisez l'opérateur EXISTS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
      FROM file
     WHERE date < to_date('31-01-2012', 'dd-mm-yyyy')
       AND EXISTS (SELECT NULL
                     FROM file
                    WHERE date BETWEEN to_date('01-10-2011', 'dd-mm-yyyy')
                                   AND to_date('31-10-2011', 'dd-mm-yyyy'));

  3. #3
    Membre actif
    Inscrit en
    Juillet 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 60
    Par défaut OK
    Merci ça fonctionne

    par contre je n'ai pas compris pour les dates, la façon dont c'est écrit fonctionne chez moi.
    cela va t il améliorer les performances ?

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Oracle doit convertir vos chaînes de caractères en dates pour qu'il puisse faire les comparaisons.
    Il est aiguillé par les paramètres du serveur, de votre session, de votre outil client pour faire le bon choix.
    Ce qui pourra fonctionner sur votre client pourrait ne pas fonctionner dans une procédure stockée ou chez votre voisin.

    Avec TO_DATE, le format est précisé ça fonctionnera toujours.

Discussions similaires

  1. [IP-2007] Récupérer le résultat de l'exécution d'une requête sous Infopath 2007
    Par imothepe_33 dans le forum InfoPath
    Réponses: 1
    Dernier message: 05/07/2011, 14h17
  2. exécution d'une sous-requête
    Par sebac dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/02/2011, 10h01
  3. Problème d'exécution d'une requête sql sous java
    Par leshafid dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/08/2010, 09h15
  4. Problème d'exécution d'une requête sql sous java
    Par leshafid dans le forum JDBC
    Réponses: 1
    Dernier message: 18/08/2010, 08h26
  5. Sous-requête excutée plusieurs fois dans une requête
    Par sheridan31 dans le forum Oracle
    Réponses: 8
    Dernier message: 03/07/2006, 16h18

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