Bonjour à tous !
Une petite question... Voila, j'ai une table avec une clé primaire (Id), une année et un taux (0.46 par ex).
D'un autre coté, j'ai une requête qui dedans, en cas de null sur un champs doit me mettre la valeur du taux en fonction de l'année. Jusque la rien de compliqué
Voici ma requete :
Le problème, c'est qu'en cas de null, il m'affiche une valeur avec un nombre de décimales très important, alors qu'elles n'existent pas dans la table TTaux (champ Taux en numérique, réel simple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT DISTINCT T1.Champ1, T1.Champ2, IIF(ISNULL(T1.Champ3), (SELECT Taux FROM TTaux where year(Now) = Annee), T1.Champ3) as Taux FROM MATable T1
Du coup, me suis dit, tant pis, je fais un round sur le IIF... oui mais ca marche pas !
Donc me suis encore dit (je m'en dit des trucs, hein ?), pas grave, je fais un truc du style :
Mais ca marche toujours po...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT DISTINCT T1.Champ1, T1.Champ2, T1Champ3 AS Taux1, (SELECT Taux FROM TTaux where year(Now) = Annee) as Taux2, Round(IIF(ISNULL(Taux1), Taux2, Taux1), 4) as Taux FROM MATable T1
extrait ma table TTaux :
Affichage de TTaux.Taux de la requete pour 2009 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IdTaux Annee Taux 1 2008 0,3455 2 2009 0,3448
0,344799995422363
PS1 : j'ai saisi moi-même le taux dans la table...
PS2 : j'ai tester la sous-requête à part, pas de soucis, j'ai bien 0,3448 qui s'affiche !
Any idea ?
Thanks !
Partager