mySQL: Probleme mit IF () in HAVING....

NetBull

Erfahrenes Mitglied
Hi ...

Habe ein Problem bei einer Having Anweisung...

Es geht um eine komplexere Formel:

So gehts:
Code:
SELECT 
    cdName,     
    if( cdID IS NOT null AND cdID <> "-", 1, 0 ) as cdCount
FROM test 
WHERE cdID = 5547
GROUP BY cdName 
HAVING 
    cdCount = 0
    AND ( COUNT(cdName) <> SUM( if( cdStatus = "Success", 1, 0 ) ) )
    
ORDER BY cdName

so nicht:
Code:
SELECT 
    cdName,         
FROM test 
WHERE cdID = 5547
GROUP BY cdName 
HAVING 
    ( if( cdID IS NOT null AND cdID <> "-", 1, 0 ) ) = 0
    AND ( COUNT(cdName) <> SUM( if( cdStatus = "Success", 1, 0 ) ) )
    
ORDER BY cdName

Brauche aber eine Variante die mir mit gleichem Ergebnis nur die cdName Spalte liefert, da diese wiederum für weitere Abfragen zur Verfügung stehen muss.

Wer weis hier weiter?


cu s00n
deAndro
 
item: Kommt eine Fehlermeldung? Welche?

item: Es ist nirgends definiert wie sich cdID im GROUP BY verhalten soll. SUM()? Oder ist es ein GROUP-Value?

item: Du kannst den ganzen IF() weglassen. Du hast bereits den Filter cdID=5547 hast, somit wird cdID nicht NULL und auch nicht '-' sein: 5547 ist nicht NULL. 5547 ist nicht '-'.
 

Neue Beiträge

Zurück