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

MS SQL Server Discussion :

requete complexe


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut requete complexe
    Bonjour,
    j'ai fait une procédure stockée qui me retourne une liste d'événements.
    Exemple :
    Code barre Date Code événement Libellé évenement
    A1 01/03/2006 /8/0 A Livrer
    A1 05/03/2006 /1/1 Livrée
    A2 02/03/2006 /8/0 A Livrer
    A2 05/03/2006 /1/1 Livrée
    A3 04/03/2006 /8/0 A Livrer
    A4 06/03/2006 /8/0 A Livrer

    Je veux n'afficher que les lignes où il n'existe pas d'événement Livrée pour le même Code barre et pour une date supérieure à la date A Livrer.

    Merci pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    si j'ai bien compris ...
    ça pourrait donner un truc comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select *
    from TableEvents e1
    where e1.libelle = 'A LIVRER'
    And not exists 
    (select * 
    from TableEvents e2 
    where e2.libelle = 'LIVREE'
    and e1.code = e2.code
    and e1.date < e2.date&#41;

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Tu le mettrais où.

    Je te joins ma requete

    ----------------------------------------------------------------------
    select dbo.getAscendantsVarChar(lh.Node,'3170') AS PathLib,
    nd.NdLibelle AS Libelle,
    lh.Datation AS ValueDate,
    lh.BCPoint AS BarCode,
    lh.ValueString AS Value,
    sc.ValueString as SAP_reference,
    nd.node as currentnode



    from current_Nodes AS nd
    INNER JOIN LastHisto AS lh ON nd.Node = lh.Node
    INNER JOIN Typeids AS TI ON TI.TypeId=nd.TypeId and TI.Hist_cache <> 1
    left JOIN EventLibs AS EV ON EV.EventString=lh.ValueString -- repérage des évènements
    left JOIN lastnodes AS SC ON (SC.nodeFather=nd.Nodefather or SC.nodeFather=nd.Node)and SC.typeId = 'SC' -- noeud code SAP associé


    where lh.Node IN ( -- Sélection des noeuds appartenant au sous-arbre ayant
    SELECT Node -- le noeud de départ comme racine
    FROM dbo.getDescendants('3170')
    UNION
    SELECT '3170'
    )
    AND lh.Datation > '2006-01-02' -- Sélection de la date de début
    AND lh.Datation <= '2006-28-02' -- Sélection de la date de fin
    AND lh.valuestring LIKE ('/%')

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    t'as plusieurs solutions :
    - soit tu créer une fonction qui te retourne l'ensemble de tes évènements (en utilisant ta requête) puis tu filtre,
    - soit tu te sert de ta requete pour faire une table temporaire sur laquelle tu filtre ...

    c'est ce qui me vient à l'esprit maintenant il doit y avoir d'autres astuces

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par nicohugo
    Tu le mettrais où.

    Je te joins ma requete

    ----------------------------------------------------------------------
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Select  dbo.getAscendantsVarChar&#40;lh.Node,'3170'&#41;	AS PathLib,
    	nd.NdLibelle					AS Libelle,
    	lh.Datation					AS ValueDate,
    	lh.BCPoint					AS BarCode,
    	lh.ValueString					AS Value,
    	sc.ValueString 					as SAP_reference,
    	nd.node						as currentnode
     
     
     
      from current_Nodes AS nd 
    	INNER JOIN 	LastHisto AS lh	ON nd.Node = lh.Node	
    	INNER JOIN 	Typeids   AS TI ON TI.TypeId=nd.TypeId and TI.Hist_cache  <> 1						 
    	left JOIN 	EventLibs AS EV ON EV.EventString=lh.ValueString 							-- repérage des évènements
    	left JOIN 	lastnodes AS SC ON &#40;SC.nodeFather=nd.Nodefather or SC.nodeFather=nd.Node&#41;and SC.typeId = 'SC'	-- noeud code SAP associé
     
     
      where lh.Node IN &#40;				-- Sélection des noeuds appartenant au sous-arbre ayant
    		SELECT	Node			-- le noeud de départ comme racine
    		FROM	dbo.getDescendants&#40;'3170'&#41;
    		UNION
    		SELECT	'3170'
    	&#41;
    	AND	lh.Datation >  '2006-01-02'	-- Sélection de la date de début
      	AND	lh.Datation <= '2006-28-02'	-- Sélection de la date de fin
    	AND lh.valuestring LIKE &#40;'/%'&#41;&#91;/quote&#93;
     
    Merci d'utiliser les balises codes.
     
     select  dbo.getAscendantsVarChar&#40;lh.Node,'3170'&#41;	AS PathLib,
    	nd.NdLibelle					AS Libelle,
    	lh.Datation					AS ValueDate,
    	lh.BCPoint					AS BarCode,
    	lh.ValueString					AS Value,
    	sc.ValueString 					as SAP_reference,
    	nd.node						as currentnode
     
     
     
      from current_Nodes AS nd 
    	INNER JOIN 	LastHisto AS lh	ON nd.Node = lh.Node	
    	INNER JOIN 	Typeids   AS TI ON TI.TypeId=nd.TypeId and TI.Hist_cache  <> 1						 
    	left JOIN 	EventLibs AS EV ON EV.EventString=lh.ValueString 							-- repérage des évènements
    	left JOIN 	lastnodes AS SC ON &#40;SC.nodeFather=nd.Nodefather or SC.nodeFather=nd.Node&#41;and SC.typeId = 'SC'	-- noeud code SAP associé
     
     
      where lh.Node IN &#40;				-- Sélection des noeuds appartenant au sous-arbre ayant
    		SELECT	Node			-- le noeud de départ comme racine
    		FROM	dbo.getDescendants&#40;'3170'&#41;
    		UNION
    		SELECT	'3170'
    	&#41;
    	AND	lh.Datation >  '2006-01-02'	-- Sélection de la date de début
      	AND	lh.Datation <= '2006-28-02'	-- Sélection de la date de fin
    	AND lh.valuestring LIKE &#40;'/%'&#41;
    Tu mettras ton code sous cet entête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE PROCEDURE SP_MAPROCEDURE
       @DebDatation DateTime,
       @FinDatation DateTime
    AS
    --Votre code ici
    AND lh.Datation Between @DabDatation 
    AND FinDatation

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. [SQL2] Requête complexe
    Par benwit dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/05/2006, 20h52
  2. Aide requete complexe
    Par Sabine78 dans le forum Access
    Réponses: 9
    Dernier message: 18/04/2006, 22h28
  3. Requete complexe
    Par d1g-2-d1g dans le forum Langage SQL
    Réponses: 9
    Dernier message: 02/05/2005, 15h47
  4. Requete complexe
    Par Pfeffer dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/02/2005, 18h42
  5. requete complexe
    Par Thunder_nico dans le forum Langage SQL
    Réponses: 8
    Dernier message: 07/10/2004, 12h36

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