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 :

[MsSQL 2005] Resultat faux dans une procédure stockée : besoin de votre aide


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut [MsSQL 2005] Resultat faux dans une procédure stockée : besoin de votre aide
    bonjour à tous

    J'ai un petit soucis dans une procédure stockée : voici un un schéma de mon mcd simplifié :

    DEV_SENS_TRANSPORT -- DEV_TRANSPORT -- DEV_BON_PEINTURE -- DEV_UTILISATEUR -- DEV_SECTEUR

    la description intégrale sous forme DDL de vos tables :

    DEV_SENS_TRANSPORT :
    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
     
    USE [pieces_peintes_db]
    GO
    /****** Objet*:  Table [dbo].[DEV_SENS_TRANSPORT]    Date de génération du script*: 03/20/2009 10:21:00 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DEV_SENS_TRANSPORT](
    	[id_sens_transport] [int] IDENTITY(1,1) NOT NULL,
    	[depart_sens_transport] [varchar](50) COLLATE French_CI_AS NOT NULL,
    	[arrivee_sens_transport] [varchar](50) COLLATE French_CI_AS NULL,
     CONSTRAINT [PK_DEV_SENS_TRANSPORT] PRIMARY KEY CLUSTERED 
    (
    	[id_sens_transport] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF
    DEV_TRANSPORT

    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
    USE [pieces_peintes_db]
    GO
    /****** Objet*:  Table [dbo].[DEV_TRANSPORT]    Date de génération du script*: 03/20/2009 10:22:45 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DEV_TRANSPORT](
    	[id_sens_transport] [int] NOT NULL,
    	[id_bon_peinture] [int] NOT NULL,
    	[en_cour_transport] [int] NULL,
    	[id_etape_transport] [int] NULL,
    	[id_transport] [varchar](50) COLLATE French_CI_AS NULL,
    	[date_transport] [datetime] NULL,
     CONSTRAINT [PK_DEV_TRANSPORT] PRIMARY KEY CLUSTERED 
    (
    	[id_sens_transport] ASC,
    	[id_bon_peinture] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'EMEA de l''utilisateur ayant sélectionné les bons pour le transport' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_TRANSPORT', @level2type=N'COLUMN',@level2name=N'id_transport'
    GO
    ALTER TABLE [dbo].[DEV_TRANSPORT]  WITH CHECK ADD  CONSTRAINT [FK_DEV_TRANSPORT_DEV_BON_PEINTURE] FOREIGN KEY([id_bon_peinture])
    REFERENCES [dbo].[DEV_BON_PEINTURE] ([id_bon_peinture])
    GO
    ALTER TABLE [dbo].[DEV_TRANSPORT] CHECK CONSTRAINT [FK_DEV_TRANSPORT_DEV_BON_PEINTURE]
    GO
    ALTER TABLE [dbo].[DEV_TRANSPORT]  WITH CHECK ADD  CONSTRAINT [FK_DEV_TRANSPORT_DEV_SENS_TRANSPORT] FOREIGN KEY([id_sens_transport])
    REFERENCES [dbo].[DEV_SENS_TRANSPORT] ([id_sens_transport])
    GO
    ALTER TABLE [dbo].[DEV_TRANSPORT] CHECK CONSTRAINT [FK_DEV_TRANSPORT_DEV_SENS_TRANSPORT]
    DEV_BON_PEINTURE

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    USE [pieces_peintes_db]
    GO
    /****** Objet*:  Table [dbo].[DEV_BON_PEINTURE]    Date de génération du script*: 03/20/2009 10:25:25 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DEV_BON_PEINTURE](
    	[id_bon_peinture] [int] IDENTITY(1,1) NOT NULL,
    	[id_fournisseur] [int] NULL,
    	[id_donnee] [int] NULL CONSTRAINT [DF_DEV_BON_PEINTURE_id_donnee]  DEFAULT (NULL),
    	[id_type_bon] [int] NULL,
    	[id_etape] [int] NULL,
    	[nom_bon_peinture] [varchar](50) COLLATE French_CI_AS NULL,
    	[date_DEMANDEUR] [datetime] NULL,
    	[codeR3] [varchar](200) COLLATE French_CI_AS NULL,
    	[nombre] [int] NULL,
    	[nombre_pieces_urgentes] [int] NULL,
    	[numBB] [varchar](20) COLLATE French_CI_AS NULL,
    	[teinte] [varchar](200) COLLATE French_CI_AS NULL,
    	[reference] [varchar](200) COLLATE French_CI_AS NULL,
    	[delais] [varchar](200) COLLATE French_CI_AS NULL,
    	[designation_complete] [varchar](200) COLLATE French_CI_AS NULL,
    	[observation_demandeur] [varchar](5000) COLLATE French_CI_AS NULL,
    	[tache] [int] NULL,
    	[precision_TACHE] [varchar](200) COLLATE French_CI_AS NULL,
    	[date_controle_peinture] [datetime] NULL,
    	[codeR3_controle_peinture] [varchar](200) COLLATE French_CI_AS NULL,
    	[controle_peinture] [int] NULL,
    	[observation_controle_peinture] [varchar](5000) COLLATE French_CI_AS NULL,
    	[date_controle_magasin] [datetime] NULL,
    	[codeR3_controle_magasin] [varchar](200) COLLATE French_CI_AS NULL,
    	[controle_magasin] [int] NULL,
    	[stock_magasin] [int] NULL CONSTRAINT [DF_DEV_BON_PEINTURE_stock_magasin]  DEFAULT ((0)),
    	[observation_controle_magasin] [varchar](5000) COLLATE French_CI_AS NULL,
    	[date_destinataire_prod] [datetime] NULL,
    	[observation_destinataire_prod] [varchar](5000) COLLATE French_CI_AS NULL,
    	[date_peinture] [datetime] NULL,
    	[codeR3_partie_peinture] [varchar](200) COLLATE French_CI_AS NULL,
    	[delais_previsionnel_peinture] [varchar](200) COLLATE French_CI_AS NULL,
    	[observation_peinture] [varchar](5000) COLLATE French_CI_AS NULL,
    	[temps_passe] [varchar](200) COLLATE French_CI_AS NULL,
    	[date_destinataire] [datetime] NULL,
    	[observation_destinataire] [varchar](5000) COLLATE French_CI_AS NULL,
    	[id_DEMANDEUR] [varchar](50) COLLATE French_CI_AS NULL,
    	[id_CONTROLE_PEINTURE] [varchar](50) COLLATE French_CI_AS NULL,
    	[id_CONTROLE_MAGASIN] [varchar](50) COLLATE French_CI_AS NULL,
    	[id_DESTINATAIRE_PROD] [varchar](50) COLLATE French_CI_AS NULL,
    	[id_PEINTURE] [varchar](50) COLLATE French_CI_AS NULL,
    	[id_DESTINATAIRE] [varchar](50) COLLATE French_CI_AS NULL,
    	[Maj_bon_peinture] [int] NULL,
     CONSTRAINT [PK_DEV_BON_PEINTURE] PRIMARY KEY CLUSTERED 
    (
    	[id_bon_peinture] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'information supplémentaire pouvant compléter la partie demandeur : ex COMMANDE BLOQUER 45/55  pour la commande des pièces brutes' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_BON_PEINTURE', @level2type=N'COLUMN',@level2name=N'id_donnee'
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'lorsqu''il y a une valeur à saisir pour préciser le choix de la tache' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_BON_PEINTURE', @level2type=N'COLUMN',@level2name=N'precision_TACHE'
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'valeur 0 indique que la demande n''est pas conforme, valeur 1 indique que la demande est conforme pour la peinture' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_BON_PEINTURE', @level2type=N'COLUMN',@level2name=N'controle_peinture'
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'renseigne la quantité de pièce en stock disponible' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_BON_PEINTURE', @level2type=N'COLUMN',@level2name=N'stock_magasin'
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'booleen permettant d''indiquer si un bon est en phase de mise jour 1=> en cour de mise à jour 0 => n''est pas en phase de mise à jour  ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_BON_PEINTURE', @level2type=N'COLUMN',@level2name=N'Maj_bon_peinture'
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_BON_PEINTURE'
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_DONNEE] FOREIGN KEY([id_donnee])
    REFERENCES [dbo].[DEV_DONNEE] ([id_DONNEE])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_DONNEE]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_ETAPE] FOREIGN KEY([id_etape])
    REFERENCES [dbo].[DEV_ETAPE] ([id_Etape])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_ETAPE]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_FOURNISSEUR] FOREIGN KEY([id_fournisseur])
    REFERENCES [dbo].[DEV_FOURNISSEUR] ([id_Fournisseur])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_FOURNISSEUR]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_TYPE_BON] FOREIGN KEY([id_type_bon])
    REFERENCES [dbo].[DEV_TYPE_BON] ([id_TYPE_BON])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_TYPE_BON]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_CONTROLE_MAGASIN] FOREIGN KEY([id_CONTROLE_MAGASIN])
    REFERENCES [dbo].[DEV_UTILISATEUR] ([id_UTILISATEUR])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_CONTROLE_MAGASIN]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_CONTROLE_PEINTURE] FOREIGN KEY([id_CONTROLE_PEINTURE])
    REFERENCES [dbo].[DEV_UTILISATEUR] ([id_UTILISATEUR])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_CONTROLE_PEINTURE]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_DEMANDEUR] FOREIGN KEY([id_DEMANDEUR])
    REFERENCES [dbo].[DEV_UTILISATEUR] ([id_UTILISATEUR])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_DEMANDEUR]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_DESTINATAIRE] FOREIGN KEY([id_DESTINATAIRE])
    REFERENCES [dbo].[DEV_UTILISATEUR] ([id_UTILISATEUR])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_DESTINATAIRE]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_DESTINATAIRE_PROD] FOREIGN KEY([id_DESTINATAIRE_PROD])
    REFERENCES [dbo].[DEV_UTILISATEUR] ([id_UTILISATEUR])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_DESTINATAIRE_PROD]
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE]  WITH CHECK ADD  CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_PEINTURE] FOREIGN KEY([id_PEINTURE])
    REFERENCES [dbo].[DEV_UTILISATEUR] ([id_UTILISATEUR])
    GO
    ALTER TABLE [dbo].[DEV_BON_PEINTURE] CHECK CONSTRAINT [FK_DEV_BON_PEINTURE_DEV_UTILISATEUR_PEINTURE]
    DEV_UTILISATEUR

    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
    USE [pieces_peintes_db]
    GO
    /****** Objet*:  Table [dbo].[DEV_UTILISATEUR]    Date de génération du script*: 03/20/2009 10:29:36 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DEV_UTILISATEUR](
    	[id_UTILISATEUR] [varchar](50) COLLATE French_CI_AS NOT NULL,
    	[id_secteur] [int] NULL,
    	[nom_utilisateur] [varchar](20) COLLATE French_CI_AS NULL,
    	[prenom_utilisateur] [varchar](20) COLLATE French_CI_AS NULL,
    	[adresse_mail_utilisateur] [varchar](30) COLLATE French_CI_AS NULL,
     CONSTRAINT [PK_UTILISATEUR] PRIMARY KEY CLUSTERED 
    (
    	[id_UTILISATEUR] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF
    GO
    EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'utilisation de l''EMEA => valeur unique au sein de l''entreprise ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DEV_UTILISATEUR', @level2type=N'COLUMN',@level2name=N'id_UTILISATEUR'
    GO
    ALTER TABLE [dbo].[DEV_UTILISATEUR]  WITH CHECK ADD  CONSTRAINT [FK_DEV_UTILISATEUR_DEV_SECTEUR] FOREIGN KEY([id_secteur])
    REFERENCES [dbo].[DEV_SECTEUR] ([id_secteur])
    GO
    ALTER TABLE [dbo].[DEV_UTILISATEUR] CHECK CONSTRAINT [FK_DEV_UTILISATEUR_DEV_SECTEUR]
    DEV_SECTEUR

    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
    USE [pieces_peintes_db]
    GO
    /****** Objet*:  Table [dbo].[DEV_SECTEUR]    Date de génération du script*: 03/20/2009 10:30:25 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DEV_SECTEUR](
    	[id_secteur] [int] IDENTITY(1,1) NOT NULL,
    	[num_secteur] [int] NULL,
    	[intitule_secteur] [varchar](500) COLLATE French_CI_AS NULL,
     CONSTRAINT [PK_SECTEUR] PRIMARY KEY CLUSTERED 
    (
    	[id_secteur] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF
    Jeu de test :

    Euh pour cette étape je ne vois pas bien quoi transmettre .
    Car pour pouvoir le tester il y aurait d'autre table qui interviendrai.

    Par contre c'est un très bonne exercice professionnel pour moi pour savoir communiquer sur un problème dans une équipe de développement, élément que je ne peux pratiquer sur mon poste actuel étant le seul développeur.


    L'objectif de ma requête est de récupérer la liste des id_bon_peintures qui sont de type_bon (1,2,5) à l'id_etape (8,3,5,11) et ayant pour valeur un en_cour_transport = 0

    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
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<>
    -- Create date: <19/03/2009>
    -- Description:	<Selection des bons en attente d'acheminement par le magasin>
    -- =============================================
    ALTER PROCEDURE [dbo].[DEV_PS_Select_infos_bon_transport_magasin] 
    	-- Add the parameters for the stored procedure here
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for procedure here
    	SELECT 
     
    	DBP.id_bon_peinture, --pour la gestion des lien  et le nommage des checkbox
    	nom_bon_peinture,
    	date_DEMANDEUR,
    	numBB,
    	nom_utilisateur,
    	prenom_utilisateur,
    	num_secteur,
    	depart_sens_transport,
    	arrivee_sens_transport
     
    	FROM DEV_BON_PEINTURE as DBP
     
    	INNER JOIN DEV_UTILISATEUR as DU
    		ON DBP.id_DEMANDEUR=DU.id_UTILISATEUR 
     
    	INNER JOIN DEV_SECTEUR as DS
    		ON DU.id_secteur=DS.id_secteur
     
    	INNER JOIN DEV_TRANSPORT as DT
    		ON DBP.id_bon_peinture=DT.id_bon_peinture
     
    	INNER JOIN DEV_SENS_TRANSPORT as DST
    		ON DT.id_sens_transport=DST.id_sens_transport
     
    	WHERE DBP.id_bon_peinture IN (
    						  SELECT DT.id_bon_peinture
    						  FROM DEV_TRANSPORT
    						  WHERE en_cour_transport = 0
    						)	
    		   AND id_type_bon IN (1,2,5)
     
    		   AND id_etape IN (8,3,5,11)
     
     
    END
    Mon soucis est qu'il retourne aussi les id_bon_peinture des bons ayant un en_cour_transport = 1.

    J'ai fait un test en isalant ma sous-quête :

    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
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<>
    -- Create date: <19/03/2009>
    -- Description:	<function de test de selection de l'id_bon_peinture des bons peinture
    -- en attente d'acheminement>
    -- =============================================
    ALTER PROCEDURE [dbo].[test_select_bon_attente_transport] 
    	-- Add the parameters for the stored procedure here
    	AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for procedure here
    	SELECT id_bon_peinture
    	FROM DEV_TRANSPORT
    	WHERE en_cour_transport = 0
    END
    et cette dernière me retourne bien la liste des id_bon_peinture ayant un en_cour_transport = 0 .

    Où ai-je fait une erreur dans ma requête?

    en vous remerciant d'avance pour votre aide

    Encore merci j'attends tes conseils pour l'envoi de jeu de test.

    ++

    ++

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 756
    Points : 52 534
    Points
    52 534
    Billets dans le blog
    5
    Par défaut
    Sans la description intégrale sous forme DDL de vos tables ainsi qu'un jeu d'essais, personne ne peut vous aider.
    Merci de respecter la charte de postage. Cela évite de faire perdre du temps à tout le monde, vous compris !
    http://www.developpez.net/forums/d96...vement-poster/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    rebonjour,

    j'ai semble-t-il trouvé d'où provient l'erreur.

    Ma sous requête n'était pas complète :

    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
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<>
    -- Create date: <19/03/2009>
    -- Description:	<function de test de selection de l'id_bon_peinture des bons peinture
    -- en attente d'acheminement>
    -- =============================================
    ALTER PROCEDURE [dbo].[test_select_bon_attente_transport] 
    	-- Add the parameters for the stored procedure here
    	AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for procedure here
    	SELECT DBP.id_bon_peinture
    	FROM DEV_BON_PEINTURE AS DBP
    	INNER JOIN DEV_TRANSPORT AS DT
    	ON DBP.id_bon_peinture=DT.id_bon_peinture
    	WHERE en_cour_transport = 0
    END
    en voici la version qui semble corriger le problème

    et son intégration dans ma requête :

    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
    56
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<>
    -- Create date: <19/03/2009>
    -- Description:	<Selection des bons en attente d'acheminement par le magasin>
    -- =============================================
    ALTER PROCEDURE [dbo].[DEV_PS_Select_infos_bon_transport_magasin] 
    	-- Add the parameters for the stored procedure here
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for procedure here
    	SELECT 
     
    	DBP.id_bon_peinture, --pour la gestion des lien  et le nommage des checkbox
    	nom_bon_peinture,
    	date_DEMANDEUR,
    	numBB,
    	nom_utilisateur,
    	prenom_utilisateur,
    	num_secteur,
    	depart_sens_transport,
    	arrivee_sens_transport
     
    	FROM DEV_BON_PEINTURE as DBP
     
    	INNER JOIN DEV_UTILISATEUR as DU
    		ON DBP.id_DEMANDEUR=DU.id_UTILISATEUR 
     
    	INNER JOIN DEV_SECTEUR as DS
    		ON DU.id_secteur=DS.id_secteur
     
    	INNER JOIN DEV_TRANSPORT as DT
    		ON DBP.id_bon_peinture=DT.id_bon_peinture
     
    	INNER JOIN DEV_SENS_TRANSPORT as DST
    		ON DT.id_sens_transport=DST.id_sens_transport
     
    	WHERE DBP.id_bon_peinture IN (
    SELECT DBP.id_bon_peinture
    FROM DEV_BON_PEINTURE AS DBP
    INNER JOIN DEV_TRANSPORT AS DT
    ON DBP.id_bon_peinture=DT.id_bon_peinture
    WHERE en_cour_transport = 0
    								)	
    		  AND id_type_bon IN (1,2,5)
     
    		  AND id_etape IN (8,3,5,11)
     
     
    END

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 27/04/2011, 10h13
  2. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  3. [2005] Performances de XML dans une procédure stockée
    Par franculo_caoulene dans le forum Développement
    Réponses: 3
    Dernier message: 17/04/2009, 10h40
  4. [SQL Server 2005] print dans une procédure stockée
    Par anayathefirst dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 21/03/2008, 15h50
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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