hawkmaster: Select CASE Abfrage (MysQL)

Beitrag lesen

Hallo zusammen,

Folgende Abfrage auf einem MySQL 5:

  
SELECT A.TypeID, A.Name, B.TypeID AS TestOutput  
FROM mytype A  
LEFT JOIN constraint B ON B.TypeID = A.TypeID  
GROUP BY A.TypeID  

Ausgabe:
----------------------------------
TypeID    Name        TestOutput
1         Hallo1      NULL
2         Hallo2      NULL
10        Hallo10     10
20        Hallo20     20
30        Hallo30     30

Bei der TypeID 1 und 2 steht in der Spalte TestOutput NULL da diese IDs nicht in der Tabelle constraint vorkommen.
Ich wollte mal versuchen, ob es irgendwie geht das der Output ein "false" enthält, wenn es die TypeID in "constraint" nicht gibt und ein "true" wenn es sie gibt.

Wenn ich nun versuche in diese Abfrage ein "Case" einzubauen:

  
SELECT  
   A.TypeID, A.Name,B.TypeID AS TestOutput,  
CASE  
     B.TypeID  
            WHEN NULL  
            THEN 'false'  
            ELSE 'true'  
            END AS CheckType  
            FROM  
                mytype A  
            LEFT JOIN  
                constraint B ON B.TypeID = A.TypeID  
GROUP BY A.TypeID  

Ich dachte man könnte hier vielleicht nach den NULL Werten Abfragen. Das klappt so aber nicht.

Auch mit COUNT und "Anzahl" klappt es so nicht, da es natürlich keine Spalte "Anzahl" gibt.

  
SELECT  
   A.TypeID, A.Name,COUNT(B.TypeID) AS Anzahl,  
CASE  
     B.TypeID  
            WHEN 0  
            THEN 'false'  
            ELSE 'true'  
            END AS CheckType  
            FROM  
                mytype A  
            LEFT JOIN  
                constraint B ON B.TypeID = A.TypeID  
GROUP BY A.TypeID  

Ich kann natürlich gleich nur mit "Count" arbeiten ohne CASE und nur prüfen, ob es 0 gibt oder nicht. Mich interessiert es nur, ob und wie so etwas mit CASE machbar wäre

vielen Dank und viele Grüße
hawk