Thomas24: SQL-Query mit NULL?

Hi!
Ich möchte eine SQL-Query haben, die alle Tupel aus der DB ausliest, die bei der Spalte 'aktiviert' == 0 / NULL haben, das funktioniert aber irgendwie nicht ganz und ich kappiers nicht :-/

Wenn ich die query [i]SELECT COUNT(*), aktiviert FROM table WHERE var='var1' GROUP BY aktiviert[/i] absende, erhalte ich:

  
COUNT(*) | aktiviert  
10       | NULL  
30       | 0  
10       | 1  

Wenn ich [i]SELECT COUNT(*), aktiviert FROM table WHERE var='var1' AND aktiviert='0' OR aktiviert='' GROUP BY aktiviert [/i] sende, erhalte ich jedoch 34!?

Wie geht das?

lg

  1. yo,

    zum einen ist das thema falsch gewählt, datenbanken wäre das richtige topic und nicht php. zum anderen ist '' nicht unbedinkt NULL und auch die prüfung auf NULL erfolgt mit einem anderen operator, nämlich mit IS anstelle dem '='. zuletzt muss man noch bedenken, dass der logische operator AND stärker bindet als OR.

    SELECT COUNT(*), aktiviert
    FROM table
    WHERE var='var1'
    AND (aktiviert='0' OR aktiviert IS NULL)
    GROUP BY aktiviert
    ;

    Ilja

    1. Danke

      Thomas