J'aimerais pouvoir ajouter un champ répondant à la question "Pour une valeur dans cet enregistrement, cette valeur correspond-elle à une condition d'une autre table?". Je pensais essayer un case-when
avec un exists
, mais Teradata (mes dbms) ne l'aime pas. Des recommandations?SQL: instruction case-when avec "exists"
select foo,
(case when exists (select x.foo
from somedb x
where x.bar > 0)
then '1' else '0' end) as MyFlag
from mydb
Cela vous donne-t-il une erreur de syntaxe lorsque vous l'exécutez? Quelle est l'erreur? – JNK
Qu'est-ce que "n'aime pas?" Quelle est l'erreur? – Dan
"3771: Expression illégale dans la clause WHEN de CASE expresssion". Voici ce que je fait faire: select t.foo, (cas où 1 = 1 alors fin '1' autre '0') comme lapsedFlag, (cas où existe (sélectionnez cc.date_dt de x. bar cc où cc.foo = t.foo et cc.date_dt entre '2010-05-01' (date) et '2010-07-31' (date) ) puis '1' else '0' end) comme MyFlag de x.bar t – Chris