Bonjour à tous,
je poste ici en espérant que ce sera le bon forum...
voici j'ai la requête suivante :
le résultat est un tableau à 20 lignes (1 par élément de la table T1) avec les colonnes provenant de T2 renseignées ou pas selon qu'il existe une occurrence de l'enregistrement de T1 dans T2.
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 SELECT T1.Ind_TypoRisq, T1.Txt_TypoRisq AS Risque, T2.Index, ISNULL(T2.Index) AS Absent, T2.Ind_DU, T2.Ind_WU, T2.Actif FROM zt_typorisq AS T1 LEFT JOIN t_risqdu as T2 ON ((T1.Ind_TypoRisq = T2.Ind_TypoRisq) and (Ind_WU = :WU) and (Ind_DU = :DU) and (NumETS LIKE :ETS) and ((T2.Actif=1) OR (T2.Actif=0))) WHERE ((ISNULL(T2.Index)=0) OR (ISNULL(T2.Index)=:Visu)) ORDER BY T1.Ind_TypoRisq
cette requête fonctionne parfaitement bien et me donne les résultats attendus. Ces derniers sont exploités via Delphi. J'ai une case à cocher qui reprend le champ "Absent" qui a la valeur 1 si l'enregistrement de T1 est absent et 0 si il est présent, le tout en liste dans un composant TdbCtrlGrid... je signale tout cela mais c'est, à mon avis, sans importance pour mon problème.
J'ai un problème lors de la première insertion de valeur dans T2. la fonction ISNULL utilisée pour le champ "Absent" renvoie des valeurs qui semblent aléatoires... mais le sont sans doute pas... Cecdi se produit uniquement lors de l'insertion de la première valeur dans la table T2 ensuite tout fonctionne...
quelqu'un a une idée ?
Partager