Bonjour,

j'ai développé une procédure stockée que je voudrais modifier en y ajoutant une clause CASE dans mon WHERE.

je ne sais absolument pas si c'est possible de prime abord et/ou quels sont les moyens d'y parvenir.

En 2 mots, l'utilisateur final devra soit entrer un code fournisseur soit un code de regroupement fournisseur et la requête ira lui rechercher l'ensemble des mouvements passés avec ce fournisseur.

je voudrais mettre en place une condition à savoir que si mon code regroupement est non null alors la requête utilise le code regroupement en priorité et ne s'occupe pas du code fournisseur, sinon si le code regroupement est vide alors la requête se jouera uniquement par le code fournisseur.


voila mon code à aujourd'hui :

Merci d'avance pour votre aide

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
 
ALTER PROCEDURE [dbo].[SyntheseCAFournisseur]
	-- Add the parameters for the stored procedure here
	@CodeFou varchar(9),
	@CodeRegr varchar(20),
	@DateDeb datetime,
	@DateFin datetime
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
 
	Select 'C' as SOCIETE, T_Table2 as code_regroupement, e_contrepartieaux,t_commentaire,e_etablissement, e_journal, et_libelle, e_refinterne, sum(e_debit-e_credit) as SOLDE, e_periode
	from C..ecriture
	left join C..tiers ON e_contrepartieaux = t_auxiliaire
	left join C..etabliss ON e_etablissement = et_etablissement
	where e_contrepartieaux = @CodeFou
	and T_TABLE2 = @CodeRegr
	and e_journal in ('AC','ACO', 'AI', 'AIO')	
	and e_datecomptable between @DateDeb and @DateFin
	and (e_general like '6%' or e_general like  '2%')
	group by e_contrepartieaux, T_Table2, t_commentaire,e_etablissement, et_libelle, e_journal, e_periode, e_refinterne
 
END