pourquoi une proc stoc comme celle ci est incorrecte?
select
col1,
col2,
case exists (select 1 from foo2 as f2 where f2.col1 = f1.col1)
when true then 1
else 0
end
from foo1 as f1
ce qui est refusé est la partie qui commence avec case
merci
Version imprimable
pourquoi une proc stoc comme celle ci est incorrecte?
select
col1,
col2,
case exists (select 1 from foo2 as f2 where f2.col1 = f1.col1)
when true then 1
else 0
end
from foo1 as f1
ce qui est refusé est la partie qui commence avec case
merci
CASE est une structure utilisable dans une requête et possède une syntaxe bien définie.
Votre utilisation du case est syntaxiquement incorrecte.
Lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlaz/select/#L7
En l'occurrence, vous auriez dû écrire :
en effet le :Code:
1
2
3
4
5
6
7 select col1, col2, case WHEN exists (select 1 from foo2 as f2 where f2.col1 = f1.col1) THEN 1 ELSE 0 end from foo1 as f1
Attend une expression VALUABLE et non un prédicat !Code:
1
2
3 case <expression> ... end
A +