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)
et j ai une erreur sur cette ligne:
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
avec le message suivant:
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 nullpar contre qd je remplace la valeur de tg.refcf par sa valeur dans la table ma requète passe nikel a savoirServeur : 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.
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 ....
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
merci






Répondre avec citation
Partager