SQL - Unterabfrage

Hallo Forum,

ich habe Schwierigkeiten mit dieser Abfrage,
ich möchte gern nach dieser Abfrage

SELECT First(tbl_ReviewStatus.reviewer) AS Reviewer, Count(tbl_ReviewStatus.reviewer) AS Anzahl
FROM tbl_ReviewStatus
GROUP BY tbl_ReviewStatus.reviewer
HAVING (((Count(tbl_ReviewStatus.reviewer))>=1));

noch eine weitere Abfrage (Unterabfrage) bilden, die mir nach >= 5 die Mahungen der AnzahlMahungen der Reviewer zählt (Wie im Ziel), da habe ich gerade Schwierigkeiten, kann mir jemand bitte helfen?

Falls es nicht mit SQL geht es auch mit vba Access Code… Tipps würden mir auch reichen…

***************************************************************************
Ausgang


AnzahlMahnungen---------Reviewer

6-----------------------Rogozinski
6-----------------------Rogozinski
12----------------------Colantuono
6-----------------------Beolchi
9-----------------------Beolchi
9-----------------------Beolchi
6-----------------------Beolchi
7-----------------------Haub
12--------------------- Colantuono
14----------------------Cattani
9-----------------------Lewis
8-----------------------Colantuono
15----------------------Eisner
20----------------------Eisner
5-----------------------Schulz

***************************************************************************
Ziel

Reviewer----AnzahlReviewer*–Mahnungen

Rogozinski------2-------------2
Colantuono------3-------------3
Beolchi --------4-------------4
Haub------------1-------------1
Cattani---------1-------------1
Lewis-----------1-------------1
Eisner----------2-------------2
Schulz----------1-------------0

* = Anzahl wie oft ein Reviewer vorkommt

Mit freundlichen Grüßen

Arpait00

Servus Arpait00,

anscheinend verstehe nicht nur ich nicht was du machen willst:

du hast also eine Tabelle mit Reviewer/AnzahlMahnungen, gut.

Und du willst jetzt eine Ausgabe haben in der steht:
Reviewer/AnzahlVorkommen/AnzahlVorkommen>=5 … richtig ?

Also pro Reviewer wie oft er überhaupt vorkommt und wie oft er >=5
Mahnungen erzeugt hat ?

Oder anders ?

Bitte erläutere doch dein Problem nochmals, dann klappts auch mit der Antwort.

Gruss,
SomeOne

Genau so, wie du es geschrieben hast, nur mit >=6, war ein Tipp-Fehler von mir.

Und du willst jetzt eine Ausgabe haben in der steht:
Reviewer/AnzahlVorkommen/AnzahlVorkommen>=5 … richtig ?

Gruss,
Arpait00

z.b.

count(Das_feld_soll_ich_zaehlen) as Vorkommen
(count(Das_feld_soll_ich_zaehlen) >= 6) as Mindestens

group by das_feld_zusammenfassen

select name ,
count(Das_feld_soll_ich_zaehlen) as Vorkommen ,
(count(Das_feld_soll_ich_zaehlen) >= 6) as Mindestens
FROM dieTabelle
GROUP BY name;

das group fast ein Feld inhalt zusammen auf nur eine ausgabe.

also max(gehalt) und group by name , würde dann pro name das maximale gehalt anzeigen und nicht das maxmimale von allen.

ich bin mir nicht sicher.
wenn du alle mahnungen zusammen zählen willst eines jeden namens
dann wohl SUM() und nicht COUNT()

Genau so, wie du es geschrieben hast, nur mit >=6, war ein
Tipp-Fehler von mir.

Servus Arpait00,

das würde ich dann so umsetzen:

SELECT tb1.reviewer , tb2.vorkommen , value(tb3.absechs, 0)
FROM______(SELECT reviewer
___________FROM tblmahnung
___________GROUP BY reviewer) AS tb1
LEFT JOIN (SELECT reviewer, count(*) vorkommen
___________FROM tblmahnung
___________GROUP BY reviewer) AS tb2 ON tb2.reviewer = tb1.reviewer
LEFT JOIN (SELECT reviewer, count(*) absechs
___________FROM tblmahnung
___________WHERE mahnungen >= 6
___________GROUP BY reviewer) AS tb3 ON tb3.reviewer = tb1.reviewer

Die „______“ hab ich zur Formatierung reingemacht, sonst könnte man
das Statement kaum noch entziffern :wink: .

Hoffe geholfen zu haben,

Gruss
SomeOne

Hi,

noch was vergessen zu sagen: Grundlage für mein Statement ist diese Tabelle tblmahnung:

MAHNUNGEN REVIEWER
6 Rogozinski
6 Rogozinski
12 Colantuono
6 Beolchi
9 Beolchi
9 Beolchi
6 Beolchi
7 Haub
12 Colantuono
14 Cattani
9 Lewis
8 Colantuono
15 Eisner
20 Eisner
5 Schulz

Damit funzt es.

Gruss,
SomeOne

Moin moin

Die „______“ hab ich zur Formatierung reingemacht, sonst

dafür gibt es das pre tag . das erhält die leerzeichen … nur mit tabs hats irgendwie probleme .