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

Développement SQL Server Discussion :

Réaliser une contrôle sur une table dans MSSMS [2012]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2023
    Messages : 2
    Par défaut Réaliser une contrôle sur une table dans MSSMS
    Bonjour,

    Je cherche à effectuer un contrôle sur une table, mais mes compétences en SQL étant limitées, je n'y parviens pas.
    Aussi je me permets de solliciter l'aide d'une âme charitable.

    Concrètement :
    Il y a dans une colonne A un numéro de dossier
    Il y a plusieurs ligne dans la table pour un même numéro de dossier (variable pour chacun des dossiers)
    Il y a dans une colonne B un indexe lié au nombre de lignes existantes par numéro de dossier (l'indexe recommence à 1 pour chaque dossier)
    Il y a dans une colonne C une date (de début) et dans une colonne D une date (de fin)

    Le contrôle que je souhaiterais effectuer est le suivant :
    Je voudrais vérifier que, pour un même dossier, pour un indexe N, la date de début est égale à la date de fin + 1 jour de l'indexe N-1.
    Ou autrement formulé, je voudrais vérifier pour chaque dossiers, que les dates se succèdent de ligne en ligne, sans discontinuité.

    En vous remerciant par avance pour votre aide.

  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
    Quelque chose dans ce genre-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with cte_MaTable (colA, colB, colC, colD, colD_prev_plus_un) as
    (
    select colA, colB, colC, colD
         , lag(dateadd(day, 1, colD), 1, colC) over(partition by colA order by colB asc)
      from MaTable
    )
    select colA, colB, colC, colD, colD_prev_plus_un
      from cte_MaTable
     where colC <> colD_prev_plus_un;

  3. #3
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2023
    Messages : 2
    Par défaut
    Merci beaucoup pour votre réponse rapide.

    Cela fonctionne parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Requête sur plusieurs tables dans une seule liste
    Par tarnx dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/12/2009, 11h36
  2. Réponses: 1
    Dernier message: 11/08/2009, 23h09
  3. Requete sur une table dans mon projet
    Par sboffin dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/01/2009, 12h26
  4. Variable d'une table dans une requete non basée sur cette table
    Par MickaelKael dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/10/2007, 09h46
  5. Réponses: 2
    Dernier message: 16/02/2006, 09h24

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