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 Firebird Discussion :

Rechercher les périodes non incluses dans une table


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 954
    Par défaut Rechercher les périodes non incluses dans une table
    Bonjour à tous,

    J'ai une table "PERIODE" pour géré les maintenances véhicules par période
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE PERIODE
    (
     
      DATD Date NOT NULL,
      DATF Date NOT NULL,
      DES Varchar(255) CHARACTER SET ISO8859_1,
      PRIMARY KEY (DATD,DATF)
    );
    et je voudrais pouvoir rechercher les périodes non incluses dans la table jusqu’à à une date précise.
    exple:

    datd=01/01/2021 datf=03/01/2021
    datd=05/01/2021 datf=05/01/2021
    datd=08/01/2021 datf=10/01/2021

    ici les périodes
    datd=04/01/2021 datf=04/01/2021
    et
    datd=06/01/2021 datf=07/01/2021

    ne sont pas incluses.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 596
    Billets dans le blog
    65
    Par défaut
    Faites une recherche sur les CTE récursives, il est hors de question que je vous donne la solution tout de suite

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 954
    Par défaut
    bonjour,

    Je suis arrivé à trouver un code qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    WITH RECURSIVE date_range AS (
        SELECT date'2019-01-03' dateval
        FROM rdb$database
        UNION ALL 
        SELECT dateval + 1
        FROM date_range
        WHERE dateval < date'2019-01-09'
    )
    SELECT *
    FROM date_range
    par contre si je le met dans ma procédure il signale des erreurs
    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
    CREATE PROCEDURE DATDISP
     (DAD DATE,DAF DATE) 
    RETURNS 
     ( DATDIS DATE )
    AS 
    declare variable DATE1 date;
    BEGIN
    WITH RECURSIVE dates AS (
        SELECT DAD  date1  
        FROM rdb$database
        UNION ALL 
        SELECT date1 + 1
        FROM dates
        WHERE date1 < DAF 
    )
    SELECT * FROM dates;  ///token unkown
    suspend;
     
    END

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 596
    Billets dans le blog
    65
    Par défaut
    Je suis arrivé à trouver un code qui marche
    mais l'avez vous compris ?
    si je le met dans ma procédure il signale des erreurs
    Parce qu'il vous manque une boucle FOR et un INTO. Revoyez votre copie

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 954
    Par défaut
    mais l'avez vous compris ?
    , evidement je l'ai compris, il donne une plage de date selon les conditions
    Parce qu'il vous manque une boucle FOR et un INTO
    LA J'AI PAS COMPRIS.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 596
    Billets dans le blog
    65
    Par défaut
    LA J'AI PAS COMPRIS.
    Pourtant, il y a peu vous avez utilisé ces mêmes boucles FOR...INTO ici et

Discussions similaires

  1. recherche de valeur non présentes dans une autre table
    Par omelhor dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/02/2015, 10h51
  2. Réponses: 2
    Dernier message: 24/06/2014, 08h52
  3. Réponses: 5
    Dernier message: 28/05/2012, 15h53
  4. [AC-2007] Comment rechercher les objets non utilisés dans une application
    Par Triton972 dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/12/2011, 05h45
  5. recherche de champ vide ou non vide dans une table
    Par milan dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/07/2008, 10h42

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