PDA

Vollständige Version anzeigen : Hilfe bei Abfrage mit Count und mehreren Bedingungen


mark-williams
06.07.2006, 15:26
Hallo!

Ich habe eine Gesamttabelle aus der ich mir eine Abfrage erstellen möchte, die mir zählt, wie oft
z.B. "Volkswagen", "BMW", "Opel" etc. in der Spalte1 vorkommt. Dies hätte ich aber gerne mit einer
weiteren Bedingung, nämlich einen Zeitraum. D.h. Ich hätte gerne eine Spalte für den Januar, einmal
für den Februar usw. bis Dezember ...
D.h. ich habe mehrere Bedingungen für diese Abfrage, die ich einfach nicht hinbekomme.
Bedingung für "Volkswagen" wäre ja z.B.

Select Count (tbl_gesamt.Feld1) ...
...
WHERE tbl_gesamt.Feld1 = "Volkswagen"
und für den Zeitraum (z.B. Januar)
Select Count (tbl_gesamt.Feld1) ...
...
WHERE tbl_gesamt.Feld2 between #01.01.2005# and #31.01.2005#

Mein Problem ist, dass ich nicht weiß, wie man mehrere Bedingungen in einer SQL-Abfrage kombiniert :eek:.

Kurz: Bräuchte einen Code (siehe meine Skizze), der bestimmt : Zeige eine neue Spalte "Januar" und
zeige dort die Anzahl "Volkswagen" (WHERE tbl_gesamt.Feld1 = "Volkswagen") für den Zeitraum Januar
(... between #01.01.2005# and #31.01.2005#) ...

Das selbe aber sollte in dieser Abfrage auch für die anderen Hersteller in der Gesamttabelle und für
andere Monate funktionieren.

http://mitglied.lycos.de/berlinrap/count.gif

Ist das so überhaupt zu realisieren oder muss ich wirklich für jeden Hersteller eine neue Abfrage erstellen??

Vielen dank, mfg Mark

Arne Dieckmann
06.07.2006, 15:37
Gruppiere nach Monat (und Jahr) des Datumfeldes, sowie Hersteller und bilde daneben die Anzahl. Das lässt sich fast zusammenklicken.

Nachtrag: Oder s. Rogers Beitrag.

Worf1001
06.07.2006, 15:38
Hallo,

ganz spontan würde ich jetzt folgendes Vorschlagen:


TRANSFORM Count(Tabelle.Automarke) As AnzahlAutomarken
SELECT Tabelle.Automarke, Count(Tabelle.Automarke) As TotalAutomarken
FROM Tabelle
GROUP BY Tabelle.Automarke
PIVOT Month(Tabelle.Datum) As Monat;


Habs nicht getestet...

mark-williams
06.07.2006, 15:48
Hallo!

Wow, Danke für sie schnellen Antworten! Ich werde es gleich mal morgen fürh ausprobieren,
komme heute leider nicht mehr dazu. Falls ich es nicht hinbekommen sollte, melde ich mich nochmal.

Schönen Tag noch,

mfg Mark

mark-williams
07.07.2006, 09:10
Hallo Worf1001,

Kanns noch gar nicht glauben, ich habs hinbekommen :D ...
Dein Code war der entscheidende und richtige Lösungsansatz !!!
Danke, Danke, Danke ...

mfg Mark

Mario T
04.04.2007, 20:38
Hallo zusammen,

habe ein ähnliches Problem, bleiben wir mal bei den Autos

aslo in einer "Tabelle1" gibts es jede menge Autos mit einem Feld "MARKE"

nun möchte ich gern in einem Listenfeld mit 2 Spalten die MARKE, und die wie oft diese Marke in "Tabelle1" enthalten ist, das ganze sortiert nach MARKE.

Arne Dieckmann
04.04.2007, 21:03
S. Beitrag #2 oder versuche es mit:
SELECT
Marke,
Count(*) AS Anz
FROM Tabelle1
GROUP BY Marke;

Mario T
04.04.2007, 21:37
Hallo Arne,

na du bist ja immer gleich zur Stelle wenn Not am Code ist.

Danke für deine Hilfe,
und schöne Feiertage