Kann mir jemand sagen, was an der folgenden Abfrage falsch ist?
select case
when ANALYSISCODE is null and
studydomainmdata.studydomainmetadataid > 0
then 'CD'
when ANALYSISCODE is null and
studydomainmdata.studydomainmetadataid < 0
then 'CD1'
when analysiscode is not null
then ANALYSISCODE
else 'N/A'
end as ANALYSISCODE
from studyanalysis
inner join (slmetadata
inner join studydomainmdata
on slmetadata.slmetadataid = studydomainmdata.slmetadataid and
studydomainmdata.studydomainmetadataid=-9)
on studyanalysis.analysisid = slmetadata.analysisid;
Mein erwartetes Ergebnis wäre:
- CD1 wenn studydomainmetadataid kleiner als 0 ist
- CD wenn studydomainmetadataid > 0 (d.h. 85)
- 'xxx', wenn ANALYSISCODE nicht null ist
Ich erhalte null ANALYSISCODE.