ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
175
175
EMPFEHLEN
-
03.06.09 13:05 #1
- Registriert seit
- Sep 2007
- Ort
- Petersberg, Hessen, Germany, Germany
- Beiträge
- 68
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 :1 2 3 4 5 6 7 8
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ß SchrodiGeändert von schrodi (03.06.09 um 13:52 Uhr)
-
04.06.09 12:44 #2
- Registriert seit
- Sep 2007
- Ort
- Petersberg, Hessen, Germany, Germany
- Beiträge
- 68
Servus,
habe die Lösung gefunden.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
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
-
04.06.09 13:07 #3
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
die ersten beiden Artikel in der Rubrik Datenbanken von SelfHTML könnten Dir vielleicht weiterhelfen.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
Ähnliche Themen
-
If-Abfrage in Where Klausel
Von kannaum im Forum PHPAntworten: 12Letzter Beitrag: 17.09.09, 08:28 -
Tabelle - über die Zelle hinaus,...
Von JesusFreak777 im Forum PHPAntworten: 7Letzter Beitrag: 20.08.08, 20:50 -
Text über DIV hinaus
Von L99P im Forum PHPAntworten: 3Letzter Beitrag: 09.08.08, 14:06 -
Menü wird nicht über Frame hinaus hinaus angezeig
Von Plantus im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 19.11.04, 11:07 -
CursorPosition über dem Window hinaus
Von der_Brain im Forum .NET ArchivAntworten: 0Letzter Beitrag: 18.03.04, 16:55





Zitieren

Login





