collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 60
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13996
  • stats Beiträge insgesamt: 66787
  • stats Themen insgesamt: 9006
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Datensätze auswählen, bei denen COUNT eine Bedingung erfüllt  (Gelesen 325 mal)

Offline superhit

  • Newbie
  • Beiträge: 5
Hallo zusammen,

ich habe eine Tabelle, in denen zu den vorhandenen Aufträgen die Historie der Aufträge abgebildet ist, d.h. zu jedem Auftrag (erkennbar an "Auftragsnummer") existieren in dieser Tabelle n Einträge in einer Spalte "Auftragsinfos". U.a. enthält Auftragsinfos zu jedem Auftrag mindestens 1x einen Eintrag "Zuordnung: ...".
Ich möchte nun die Aufträge zählen, bei denen in "Auftragsinfos" der String "Zuordnung" mehr als 1x vorkommt. Wie lässt sich das mit Hilfe von SQL bewerkstelligen?

Grüße, Rainer
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 902
Re: Datensätze auswählen, bei denen COUNT eine Bedingung erfüllt
« Antwort #1 am: April 24, 2018, 16:40:40 »
Daten auswählen mit dem SELECT-Befehl
Aggregate (z.B. Anzahlen) vergleicht man im HAVING-Teil:
...
HAVING COUNT(Auftragsinfos) > 1
...
Mit freundlichem Glück Auf!

Eberhard
 

Offline superhit

  • Newbie
  • Beiträge: 5
Re: Datensätze auswählen, bei denen COUNT eine Bedingung erfüllt
« Antwort #2 am: April 24, 2018, 19:40:01 »
Hallo Eberhard,

hmmm...ganz hab' ich es noch nicht verstanden. Die Schwierigkeit scheint mir ja gerade zu sein, dass der COUNT-Befehl eigentlich durch eine WHERE-Clausel gesteuert werden müsste, also sinngemäß:
HAVING COUNT(Auftragsinfos WHERE Auftragsinfos LIKE 'Zurodnung')>1
Geht so etwas?

Grüße, Rainer
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 902
Re: Datensätze auswählen, bei denen COUNT eine Bedingung erfüllt
« Antwort #3 am: April 24, 2018, 21:27:56 »
Die Mitgabe des Links auf vollständige Syntax war offensichtlich umsonst. Das Lesen des Inhalts hätte diese Frage erübrigt.
SELECT
   Auftragsnummer
FROM
   TabelleX
WHERE
   Auftragsinfos LIKE 'Zuordnung*'
GROUP BY
   Auftragsnummer
HAVING
   COUNT(*) > 1
Zur Wiederholung: HAVING ist ein WHERE, allerdings auf Aggregate (Summen, Anzahlen, Maxima, Durchschnitte), die über ein Gruppieren erzeugt werden.
Mit freundlichem Glück Auf!

Eberhard
 

Offline superhit

  • Newbie
  • Beiträge: 5
Re: Datensätze auswählen, bei denen COUNT eine Bedingung erfüllt
« Antwort #4 am: April 25, 2018, 08:16:02 »
Hallo Eberhard,

jetzt ist der Groschen gefallen (gibt's zwar nicht mehr, gilt aber immer noch...) Vielen Dank!

Grüße, Rainer
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1261
Re: Datensätze auswählen, bei denen COUNT eine Bedingung erfüllt
« Antwort #5 am: April 25, 2018, 08:56:50 »
@Rainer,

in Polen gibt's den Groschen noch in Form von Grosz.
Grüße von der (⌒▽⌒)