Kniffliges Query
Sam
- datenbank
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
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
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
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.
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
Dann muss ich ja einen JOIN machen, das kostet wieder Ressourcen. Na toll :'''''( <--Superschluchzer
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