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

PL/SQL Oracle Discussion :

Construction requête


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut Construction requête
    Bonjour,

    je veux faire une requête qui duplique la valeur du vendredi pour samedi et dimanche.

    je fais un select à partir d'une table qui contient une date et une valeur. je veux faire la chose suivante :
    si la date renvoyé est vendredi alors dupliquer cette valeur pour samedi et dimanche...

    pourriez-vous me donner des pistes ?

    merci

  2. #2
    Membre très actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 146
    Par défaut
    Bonjour,


    sans donnée, ça va etre dur mais je suppose qu'il faut donner la valeur de vendredi aux samedi et dimanche qui suivent ce vendredi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    INSERT INTO "ma table" (date,valeur)
    SELECT vendredi + 1 , valeur
    from "ma table"
    where date = 'vendredi'
    UNION
    SELECT vendredi + 2 , valeur
    from "ma table"
    where date = 'vendredi'
    ;

  3. #3
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO "ma table" (date,valeur)
    SELECT vendredi + 1 , valeur
    FROM "ma table"
    WHERE to_char ( date, 'day')='vendredi'
    UNION
    SELECT vendredi + 2 , valeur
    FROM "ma table"
    WHERE WHERE to_char ( date, 'day')='vendredi'

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Si on va par là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trim(TO_CHAR ( ladate, 'day', 'NLS_DATE_LANGUAGE=FRENCH')) = 'vendredi'
    Et aussi, pas d'UNION, mais un UNION ALL, sinon on ne dupliquerait pas les doublons déjà existant

  5. #5
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,

    Avec ton code, il va scanner deux fois la table "ma table".

    Essaie ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    INSERT INTO "ma table"
                (DATE, valeur)
       SELECT vendredi + lvl, valeur
         FROM "ma table",
              (SELECT 1 lvl
                 FROM DUAL
               UNION ALL
               SELECT 2 lvl
                 FROM DUAL)
        WHERE TRIM (TO_CHAR (ladate, 'day', 'NLS_DATE_LANGUAGE=FRENCH')) =
                                                                        'vendredi'

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 284
    Par défaut
    Merci,

    j'aurais besoin de récupérer la date du dernier vendredi parce que dans la "Matable" j'ai plusieurs dates de vendredi stockée et il faut que je duplique que le dernier vendredi...

    y-a t-il une méthode pour récupérer la date du dernier vendredi ?

    merci

Discussions similaires

  1. [10gR2] Aide pour construction requête avec MAX
    Par teen6517 dans le forum SQL
    Réponses: 6
    Dernier message: 06/08/2013, 11h51
  2. Echapper Apostrophe construction requête
    Par lolymeupy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/08/2011, 09h27
  3. [SQL-Server] Construction requête SQL
    Par realsomar dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 05/08/2009, 09h56
  4. Construction requête => longue exécution
    Par aurelie83 dans le forum SQL
    Réponses: 6
    Dernier message: 22/10/2008, 12h02
  5. [SQL] Problème construction requête SQL - PHP
    Par laulau37 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/06/2007, 16h50

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