Abfrage + Zählen über Where Klausel hinaus

Schrödi

Mitglied
Hallo zusammen,

ich habe folgende Tabelle:

ID (primary key), ID_eskalation, ID_reimport, ID_user, datum eskalation, erstellt

ID_reimport sowie ID_user sind Verweisfelder auf andere Tabellen.

ID_eskalation dient der Gruppierung von Datensätzen, d.h. eine fortlaufende Nummer, die mehreremale vorkommen kann, um einzelne Datensätze als eine Eskalation zu identifizieren.

Nun möchte ich eine Abfrage machen, die mir beispielsweise die Datensätze der Eskalation mit der nummer 4 ausgibt.

Code:
SELECT eskalation.*
FROM eskalation 

LEFT JOIN reimporte ON (eskalation.ID_reimport = reimporte.ID_reimport)
LEFT JOIN vorwahlen ON (reimporte.vorwahl = vorwahlen.vorwahl) 
LEFT JOIN abteilungen ON (vorwahlen.ID_BD = abteilungen.ID_BD)

WHERE eskalation.ID_eskalation = '4'

Das funktioniert.

Nun brauche ich in der Ausgabe aber noch eine Spalte, die mir angibt wie oft der Aufrag (d.h. ID_reimport) in der gesamten Tabelle eskalationen vorkommt.

Setze ich den entsprechenden Group und count Befehl, gibt er mir natürlich immer nur die 1 aus, weil die Where Klausel die Suche auf die einzelne Eskaltion einschränkt. Ich möchte aber noch wissen in wie vielen anderen Eskalationen der Datensatz vorkommt.

Ist dies in einer Select Abfrage möglich?

(MySQL - Version: 4.1.20)

Gruß Schrodi
 
Zuletzt bearbeitet von einem Moderator:
Servus,

habe die Lösung gefunden.

Code:
SELECT e1.*, reimporte_reimporte.*, reimporte_vorwahlen.*, reimporte_bd.*,  sum(e2.datum_eskalation != '0000-00-00') as status_esk

FROM reimporte_eskalation as e1
		
LEFT JOIN reimporte_eskalation as e2 ON (e1.ID_reimport = e2.ID_reimport)
		
LEFT JOIN reimporte_reimporte ON (e1.ID_reimport = reimporte_reimporte.ID_reimport)
LEFT JOIN reimporte_vorwahlen ON (reimporte_reimporte.vorwahl = reimporte_vorwahlen.vorwahl) 
LEFT JOIN reimporte_bd ON (reimporte_vorwahlen.ID_BD = reimporte_bd.ID_BD)
				
WHERE e1.ID_eskalation = '$eskalationsid'
		
Group By e1.ID

Ich führe einen Join wieder auf die Ursprungstabelle aus mit einer Verknüpfung der zu zählenden Datensätze (siehe erster Join).


Kennt zufällig jemand eine gute erklärung der unterschiedlichen Joins, vielleicht mit einfachen Beispielen. Ich weiß immer noch nciht genau, wann welcher Join benutzt wird.

Gruß Schrodi
 
Zurück