bonjour,
j'ai développé la requete suivant (la structure de la base est vraiment pourrie mais c est un progiciel deja existant depuis plusieurs années et donc je ne peux pas en changer la structure)
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
select distinct(ac.AC_categorie),ct.CT_INTITULE,
		PRIXVEN=
			case
			when ac.ac_prixven != 0 then convert(varchar(15),ac.ac_prixven)
			when ac.ac_coef!=0 then convert(varchar(15),a.ar_prixach * ac.ac_coef)
			when ac.ac_devise != 0 then ' '
			when (select top 1 tg2.TG_Prix from f_tarifgam tg2 where ar_ref = 'GAMM' and tg2.TG_RefCF=tg.TG_RefCF) is not null then 'Gamme'
			else
			  convert(varchar(15),a.ar_prixven)
			end,
 
		COEF=
			case
			when ac.ac_coef!=0 then convert(varchar(15),ac.ac_coef)
			when ac.ac_devise != 0 then ' '
			else
			  convert(varchar(15),a.ar_coef)
			end,
		ac_prixttc,
 
		REMISE=
			case
			when ac.ac_qtemont =0 then convert(varchar(15),ac.AC_Remise)
			else
			  'Gamme'
			end,
		ac.ac_arrondi,ac.ac_qtemont
		from f_artclient ac
		left join p_cattarif ct on ct.cbindice=ac.AC_categorie
		left outer join F_ARTICLE a on a.ar_ref=ac.ar_ref
		left outer join F_TARIFGAM tg on tg.ar_ref=ac.ar_ref and substring(tg.TG_RefCF,2,2)= ac.AC_categorie
		WHERE ac.ar_ref = 'GAMM' and AC_categorie = 2
		ORDER BY AC_categorie
et j ai une erreur sur cette ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
when (select top 1 tg2.TG_Prix from f_tarifgam tg2 where ar_ref = 'GAMM' and tg2.TG_RefCF=tg.TG_RefCF) is not null
avec le message suivant:
Serveur : Msg 245, Niveau 16, État 1, Ligne 1
Erreur de syntaxe lors de la conversion de la valeur varchar 'AR' vers une colonne de type de données smallint.
par contre qd je remplace la valeur de tg.refcf par sa valeur dans la table ma requète passe nikel a savoir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
when (select top 1 tg2.TG_Prix from f_tarifgam tg2 where ar_ref = 'GAMM' and tg2.TG_RefCF='a02') is not null
j' ai beau faire des recherches et je comprens pas vraiment quel est le probleme dans cette requête et donc je ne vois pas trop comment le resoudre ....
merci