LaVaBo
05/10/2010, 14h57
Salut,
Je suis confronté à un comportement que je n'arrive pas à expliquer, mais faut dire que je suis assez mauvais en SQL :
Cette requête fonctionne nickel :
select distinct XINC_ID as INC_ID
from a, b, c, d, e
where b.XINC_INC_OID = a.INC_OID
and b.XINC_COD_OID000007 = c.COD_OID
and c.COD_OID = d.CDL_COD_OID
and d.CDL_NAME = 'string1'
and e.RCT_RCD_OID = a.INC_STATE_OID
and e.RCT_NAME = 'string2';
La requête suivante, par contre, me renvoie des résultats avec e.RCT_NAME = string2, mais je ne comprend pas pourquoi (tout est identique, sauf la ligne en rouge) :
select distinct XINC_ID as INC_ID
from a, b, c, d, e
where b.XINC_INC_OID = a.INC_OID
and b.XINC_COD_OID000007 = c.COD_OID
and c.COD_OID = d.CDL_COD_OID
and d.CDL_NAME = 'string1'
and e.RCT_RCD_OID = a.INC_STATE_OID
and e.RCT_NAME <> 'string2';SVP, me parlez pas d'optimisation, même si le code est sale, je sais plus utiliser les jointures, et pour un truc ponctuel comme ça qui ne tournera qu'une fois, j'en ai pas besoin. A moins que ça ne soit lié à mon problème ?
Merci d'avance.
Je suis confronté à un comportement que je n'arrive pas à expliquer, mais faut dire que je suis assez mauvais en SQL :
Cette requête fonctionne nickel :
select distinct XINC_ID as INC_ID
from a, b, c, d, e
where b.XINC_INC_OID = a.INC_OID
and b.XINC_COD_OID000007 = c.COD_OID
and c.COD_OID = d.CDL_COD_OID
and d.CDL_NAME = 'string1'
and e.RCT_RCD_OID = a.INC_STATE_OID
and e.RCT_NAME = 'string2';
La requête suivante, par contre, me renvoie des résultats avec e.RCT_NAME = string2, mais je ne comprend pas pourquoi (tout est identique, sauf la ligne en rouge) :
select distinct XINC_ID as INC_ID
from a, b, c, d, e
where b.XINC_INC_OID = a.INC_OID
and b.XINC_COD_OID000007 = c.COD_OID
and c.COD_OID = d.CDL_COD_OID
and d.CDL_NAME = 'string1'
and e.RCT_RCD_OID = a.INC_STATE_OID
and e.RCT_NAME <> 'string2';SVP, me parlez pas d'optimisation, même si le code est sale, je sais plus utiliser les jointures, et pour un truc ponctuel comme ça qui ne tournera qu'une fois, j'en ai pas besoin. A moins que ça ne soit lié à mon problème ?
Merci d'avance.