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 :

Procédure stockée Demande d'aide sur la création d'une requete complexe


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 51
    Par défaut Procédure stockée Demande d'aide sur la création d'une requete complexe
    Bonjour,
    Merci d'avance pour votre aide à la réalisation de la requête d'après le besoin ci-dessous:
    J'ai des tâches pères : ANDD, DCDD, ANDS, DCDS et des tâches fils : #ANIF, #ANAE, #ANST, #ANMP
    Le besoin est de calculer par requête sur toutes les lignes de ma table la colonne Parent (la colonne explications est juste pour la compréhension).
    Il faut prendre un fils et trouver si la date de début de cette tache fils et comprise entre la date de début et de fin d'un père de la table.
    Si oui on reporte la famille du père.
    Pour le résultat d'un père il faut juste reporter le task code dans la colonne parent par une seconde requête.
    Les lettres pour les dates sont fictives.
    Task_Code Beginning_Date Ending_Date Parent Explications
    1 ANDD x y ANDD
    2 #ANIF a z ANDD FILS Car x < a < y
    3 #ANAE f k ANDD FILS Car j < f < m
    4 #ANST h m DCDD FILS Car i < h < p
    5 DCDD i p DCDD
    6 #ANIF d b ANDS FILS Car y < d < o
    7 #ANAE q p DCDS FILS Car i < q < t
    8 #ANMP w b DCDS FILS Car i < w < t
    9 #ANST n m DCDS FILS Car z < n < g
    10 ANDS y o ANDS
    11 DCDS z g DCDS
    12 DCDS i t DCDS
    13 ANDD j m ANDD
    14 #ANAE k t DCDS FILS Car z < k < g
    15 ... ... ... ...

    Ci-dessous une ébauche de la requête pour le parcours sur les tâches # 'fils' mais cela ne fonctionne pas totalement car il me manque soit une jointure, soit une clause de SELECT dans un WHERE... bref je ne sais pas comment faire.

    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
     
    		UPDATE [CONCCalculationView]
    	SET [Parent]=
    		(CASE [T2].[TaskCodeCategory_]
    			WHEN 'ANDD' THEN 'ANDD FILS'
    			WHEN 'DCDD' THEN 'DCDD FILS'
    			WHEN 'ANDS' THEN 'ANDS FILS'
    			WHEN 'DCDS' THEN 'DCDS FILS'
    			ELSE NULL
    		END)
    	FROM  [CONCCalculationView] AS tblTemp
    	INNER JOIN
    		(
    			SELECT [Notification_Number],  [DateDebut], [Task_Code] AS [TaskCodeCategory_]
    			FROM [CONCCalculationView]
    			WHERE ([Task_Code]='ANIF' OR [Task_Code]='ANAE' OR [Task_Code]='ANST' OR [Task_Code]='ANMP')
    		) T2
    	ON tblTemp.[Notification_Number]=T2.[Notification_Number]
    		WHERE (T2.[Task_Code]='ANIF' OR T2.[Task_Code]='ANAE' OR T2.[Task_Code]='ANST' OR T2.[Task_Code]='ANMP') AND (T2.[Beginning_Date] BETWEEN tblTemp.[Beginning_Date] AND tblTemp.[Ending_Date])

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 51
    Par défaut
    Bonjour, Mince pas d'échanges Mes explications ne sont pas claires?

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 613
    Billets dans le blog
    10
    Par défaut
    bonjour,

    Ce n'est pas très clair en effet :

    Ligne 1 de votre jeu d'essai, "ANDD" a pour parent "ANDD" alors que dans vos explications, les fils sont #ANIF, #ANAE, #ANST ou #ANMP
    Lignes 2, 3, 6... le parent est "ANDD FILS", "ANDS FILS", "DCDS FILS", valeurs non citées dans vos explications et surprenantes (le parent est aussi un enfant ? à expliquer)
    Enfin les dates remplacées par des lettres ne facilitent pas la compréhension, par exemple "x < a < y"

    Questions :
    - comment, à partir d'une tache fils, détermine-t-on la tache parente ?
    - peut il y avoir plusieurs taches parentes pour une même tache fils ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 51
    Par défaut
    J'ai réussi à trouver une solution autre. Merci d'avoir consacré du temps à ma demande.

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 959
    Par défaut
    Ben heu... merci de l'expliciter pour les autres !

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

Discussions similaires

  1. demande d'aide pour la création d'une BDD
    Par RasWisdom dans le forum Débuter
    Réponses: 2
    Dernier message: 16/04/2013, 11h49
  2. Réponses: 4
    Dernier message: 03/06/2012, 08h08
  3. Besoin d'aide sur la création d'une page Web
    Par FournelAlex dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 21/01/2011, 17h37
  4. aide sur la création d'une BD
    Par missdev dans le forum Accès aux données
    Réponses: 4
    Dernier message: 27/07/2009, 19h36
  5. Aide sur la création d'une bdd sous MySQL
    Par Shellai-93 dans le forum Débuter
    Réponses: 20
    Dernier message: 18/08/2006, 11h15

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