Je doute que ce soit possible mais voilà.
J'ai besoin de formuler une requête SQL (absolument pas autorisée une procédure stockée) qui fait quelque chose comme ceci:
Select A.valueFromTable -B.ValueFromTable As result From table as A inner join table as B on A.ValueID = B.ValueID Where ValueID =5
Mais j'ai besoin de la condition:
if (result <0) Begin select A As result .... end else select AB as result ...
Toute aide serait grandement appréciée même si elle confirme que cela ne peut être fait.
À partir des searchs, je crois que la version de SQL Server que j'utilise actuellement est 8.0
Select CASE WHEN A.valueFromTable -B.ValueFromTable < 0 THEN A.valueFromTable ELSE A.valueFromTable -B.ValueFromTable END As result From table as A inner join table as B on A.ValueID = B.ValueID Where ValueID =5
Utilisez une instruction CASE:
SELECT CASE WHEN AB < 0 THEN A ELSE AB END AS result
Vous searchz l'instruction SQL CASE
.
select case when (AB < 0) then A else AB end as result from ...
Je suis assez confiant que vous pouvez find une solution en utilisant IF conditions, mais si tout le rest échoue peut-être essayer le vraiment obfusqué: SELECT (A.valueFromTable – (résultat <0) * B.ValueFromTable)
Cela repose sur de fausses conditions évaluant à zéro.