Vinzenz Mai: sollte das jetzt hier mit IF funktionieren???

Beitrag lesen

Hallo,

"SELECT user, money, konto IF(konto >= 0,(money + konto) AS cash, money AS cash) FROM ".TBL_STATS." ORDER BY cash DESC LIMIT 10"

sollte das funktionieren? bei mir funzt es leider net, wie könnte ich das sonst machen???

Du möchtest den Spaltenaliasnamen für den gesamten IF-Ausdruck verwenden und nicht für die Teilausdrücke.

SELECT  
    user,  
    money,  
    konto    -- hier fehlt bei Dir ein Komma  
             -- müsste zu einer entsprechenden Fehlermeldung führen.  
    -- *Ich* verwende *nie* AS um einen Spaltenaliasnamen zu kennzeichnen  
    -- weil es nicht nur optional ist, sondern in manchen DBMS gar nicht  
    -- erlaubt ist.  
    IF( konto >= 0, (money + konto), money ) cash  
FROM  
    tabelle  
ORDER BY  
    cash  
DESC  
LIMIT  
    10

Siehe auch Handbuch, Problems with column aliases.

Freundliche Grüße

Vinzenz