euh... un peu trop même.
j'ai un mal de chien à tenter de comprendre :
1/ ce que tu veux faire
2/ ce qu'il se passe
grossomodo :
Code :
SELECT * FROM x WHERE ( motcleid IN ( SELECT id FROM something ) OR ( params IS NULL OR rowcount = 0 ) ) AND someothertest
|
d'après l'indentation (complètement surréaliste) de tes parenthèses, c'est ce que je comprends.
donc là, le AND de la fin est toujours évalué.
par contre le IN n'est bloquant que si ni param is null et ni rowcount = 0
déjà, les () autour d'un OR, ça sert à rien quand il est précédé d'un autre OR.
bon, toi, tu veux que ça fasse quoi ? (parceque ta phrase "mon problème est que ..." est parfaitement imbittable, encore plus que tes parenthèses imbriquées )
Message édité par MagicBuzz le 01-08-2008 à 15:40:50