[SQL] Utiliser données d'une autre table dans un select
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[SQL] Utiliser données d'une autre table dans un select



  1. #1
    invite48ca7510

    [SQL] Utiliser données d'une autre table dans un select


    ------

    Bonjour,

    Je me permets d'écrire car je bloque depuis ce matin sur un problème :
    Je possède une table AJOUT_TEMPS de la sorte
    --------------------------------------------------------------------------
    Type de traitement Type de durée Durée
    --------------------------------------------------------------------------
    Annuel----------------------------A------------------------------1
    Mensuel--------------------------M------------------------------3
    Hebdomadaire-------------------H------------------------------5
    Journalier-------------------------J------------------------------15
    Annuel_BIS-----------------------A------------------------------10
    Journalier_2-----------------------J-----------------------------12

    Le type de traitement (Annuel, Mensuel, ....) est également présent dans une autre table ELEMENT_A_AJOUTER avec d'autres données (nom du traitement, propriétaire, date de dernier lancement, type de traitement)

    Je dois déterminer la date de prochain lancement d'un traitement à partir de la date du dernier lancement et du type de traitement
    Par exemple, si mon traitement est de type Annuel et qu'il a été lancé le 13/12/2015, la date de prochain lancement sera
    date de dernier lancement + interval 1 year

    Cet interval 1 year, je veux le récupérer depuis la table AJOUT_TEMPS (j'ai des milliers de traitements à traiter)

    Le but final étant de spooler dans un fichier les résultats,
    i.e. :
    spool monFichier;
    SELECT nomtraitement, proprietaire, datedernierlancement, dateprochainlancement <== doit être calculé, type
    FROM ELEMENT_A_AJOUTER;
    spool off;

    J'ai tenté un bloc PL/SQL, avec dans le "declare" une fonction prenant en paramètre le type de traitement pour retourner la bonne valeur ('interval 1 year', 'add_months(datederniertraitem ent, 2)',....) mais lorsque je l'utilise dans mon select, une erreur PLS sort et dit qu'on ne peut pas utiliser de fonction dans un select.

    J'ai également essayé de multiples choses (plusieurs curseurs, ...) sans aucun succès

    Avez-vous une idée et/ou essayer de faire quelque chose de la sorte ?

    Je suis preneur de toutes les pistes !
    Je suis en Oracle 10

    Je vous remercie par avance !

    -----

  2. #2
    invite0bbe92c0

    Re : [SQL] Utiliser données d'une autre table dans un select

    Bonjour

    Je ne comprends pas bien ton problème dans la mesure où, sauf erreur de ma part, PL/SQL permet d'effectuer des opérations mathématiques directement sur les variables de type DATE et DATETIME. (ce qui n'est pas d'ailleurs forcément plus commode que le DATEADD de Sql Server, qui est finalement moins ambiguë).

    De plus tu peux faire des opérations sur intervalles (jour, mois, année) ainsi :

    Code:
    date1 := date2 + interval '1' day;
    date1 := date2 + interval '2' month;
    date1 := date2 + interval '3' year;
    Quelle difficulté rencontres tu ?

Discussions similaires

  1. Il est erroné d'utiliser les symboles "1" et "0" dans une table de vérité.
    Par invite00710587 dans le forum Epistémologie et Logique (archives)
    Réponses: 27
    Dernier message: 22/08/2013, 08h21
  2. JAVA Utiliser une instance dans une autre classe
    Par invitea7f787d2 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 08/04/2013, 20h43
  3. comment utiliser des données stocker dans un package en vhdl?
    Par invitec2f0ffc9 dans le forum Électronique
    Réponses: 5
    Dernier message: 10/05/2012, 18h57
  4. Access2007 : sélectionner des données dans une table
    Par invite69e68fba dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 08/01/2011, 17h59
  5. comment utiliser les résultats d'un programme fortran dans un autre programme
    Par invitedb78a3a3 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 30/09/2010, 20h21