Sam: Kniffliges Query

Moin
ich habe ein Query, mit dem ich aus einer Tabelle alle Einträge mit bestimmten Ids zählen lassen möchte. Sieht so aus:

SELECT id, COUNT(id) AS number FROM table1 WHERE id IN (51, 10, 11) GROUP BY id

Das Problem dabei ist jetzt nur, dass ich am Ende gerne auch die ids hätte, die 0 mal vorkommen, die gibt dieses Query aber nicht aus. Wie löse ich das am besten, habe irgendwie einen Knoten im Hirn gerade :)

Danke schonmal

  1. hi,

    Das Problem dabei ist jetzt nur, dass ich am Ende gerne auch die ids hätte, die 0 mal vorkommen, die gibt dieses Query aber nicht aus.

    geht auch nicht.
    etwas, das du nicht siehst, kannst du auch nicht _zählen_.
    den schluss, dass die anzahl null ist, _weil_ du nichts siehst, musst du separat ziehen (sofern er denn korrekt ist).

    gruss,
    wahsaga

    1. Hi,

      etwas, das du nicht siehst, kannst du auch nicht _zählen_.

      frei aus dem Anhalter zitiert:

      "Wie viele Rettungskapseln hat dieses Raumschiff?"
      "Keine!"
      "Hast Du sie *gezählt*?"
      "Ja - zwei mal!"

      ;-)

      Davon abgesehen stimmt das natürlich.

      Cheatah

      --
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
    2. etwas, das du nicht siehst, kannst du auch nicht _zählen_.

      Das weiß ich schon, allerdings habe ich in der IN Bedingung alle Ids angegeben, die gezählt werden sollten und da muss es doch eine Möglichkeit geben, dass Ids, die nicht vorkommen eben eine 0 bekommen.

      1. Hi,

        etwas, das du nicht siehst, kannst du auch nicht _zählen_.
        Das weiß ich schon, allerdings habe ich in der IN Bedingung alle Ids angegeben, die gezählt werden sollten

        nein, Du hast alle Kriterien angegeben, nach denen die *vorhandenen* Datensätze gefiltert werden sollen. Dein DBMS wird nichts dazuerfinden.

        und da muss es doch eine Möglichkeit geben,

        Nein, muss es nicht.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Dann muss ich ja einen JOIN machen, das kostet wieder Ressourcen. Na toll :'''''( <--Superschluchzer

          1. Hi,

            Dann muss ich ja einen JOIN machen, das kostet wieder Ressourcen. Na toll :'''''( <--Superschluchzer

            kommen die Werte der IN-Klausel also aus einer DB-Tabelle? Falls ja, solltest Du Dich freuen, einen "JOIN zu machen".

            Gruss,
            Lude

            --
            "Harald Schmidt, wo bist Du?"