richard: viele felder mit bedingung

hallo,

ich versuche eine mysql abfrage zu gestalten, die es mir möglich macht bei sämtlichen datensätzen einer tabelle die eine bestimmte id besitzen zu zählen, wie viele felder einen bestimmten wert enthalten. also beispielsweise NULL.

eine möglichkeit wäre
SELECT * FROM table_name WHERE id = meine_id OR id = nocheine_id OR id = sind_mehrere_ids usw..

und danach alle ergebnisreihen in schleifen nach dem gesuchten wert durchsuchen und mitzählen. das COUNT von mysql zählt ja nur datensätze und nicht felder, stimmt das?

aber das kann es doch nicht sein, oder?

außerdem, gibt es eine möglichkeit in einem datensatz ein 'allgemeines feld' abzufragen? also sowas wie SELECT * FROM table WHERE WERT = 'NULL'?

freue mich über jeden hinweis, hilfe oder link.
r.

  1. außerdem, gibt es eine möglichkeit in einem datensatz ein 'allgemeines feld' abzufragen? also sowas wie SELECT * FROM table WHERE WERT = 'NULL'?

    sowas gibt es.
    Meinst du vieleicht

    SELECT count(id) FROM table WHERE IN('id1','id2','id3' usw.) AND  wert IS NULL

    hab es nicht ausprobiert, aber sowas sollte gehen.

    mfg Tobias

    1. SELECT count(id) FROM table WHERE IN('id1','id2','id3' usw.) AND  wert IS NULL

      hallo!

      danke mail für dein posting...
      deine abfrage hat nicht funktioniert weil IN einen voranstehenden ausdruck verlangt. trotzdem habe ich mich näher mit 'IN' beschäftigt, und habe wieder eine frage dazu:

      IN vergleicht. will ich mehrere id's finden, muss ich die id_spalte als audruck davor stellen und die zu suchenden id's in die klammern notieren.

      WIE aber geht das andersrum? wie also kann ich in vielen Spalten nach einem wert suchen, folgendes funktioniert nämlich nicht:

      SELECT * FROM table WHERE 'NULL' IN (a1, a2, a3, a4, a5);

      gibt es keine möglichkeit IN 'umzukehren'?

      1. SELECT count(id) FROM table WHERE IN('id1','id2','id3' usw.) AND  wert IS NULL

        deine abfrage hat nicht funktioniert weil IN einen voranstehenden ausdruck verlangt.

        Ups Mein Fehler,

        SELECT count(id) FROM table WHERE id IN('id1','id2','id3' usw.) AND  wert IS NULL

        Muss es natürlich heissen.

        id   name   vorname
        ----------------------
        1    meier  ernst
        2    müller thomas
        3    huber  sabrina

        "...WHERE id IN('1','3') ..."
        Liefert dann nur meier und huber
        So einfach ist das mit dem "IN".