Hallo an alle.
Ich habe folgendes Problem mit meiner MySQL Datenbank. Dieses Forum hat mir schon ein ganzes Stück weit geholfen, aber nun komme ich leider nicht weiter.
Meine Datenbank ist recht gross. 2.5 Mio Datensätze mit jeweils 27 Spalten. Hier der Aufbau vereinfacht dargestellt.
Ticketnr Status open_date update_time close_time
AD0012345 open 01/01/2008 02/01/2008 00/00/0000
AD0012345 open 01/01/2008 02/01/2008 00/00/0000
AD0012345 open-linked 01/01/2008 02/01/2008 00/00/0000
AD0012346 open 01/01/2008 02/01/2008 00/00/0000
AD0012346 open-linked 01/01/2008 02/01/2008 00/00/0000
AD0012346 closed 01/01/2008 02/01/2008 02/01/2008
AD0012347 open 01/01/2008 02/01/2008 00/00/0000
AD0012347 closed 01/01/2008 02/01/2008 03/00/2008
Ich muss die Daten zwecks Reporting auswerten. Hierfür möchte ich nur einen Datensatz pro Ticketnr haben. Dies habe ich bereits mit einem 'GROUP BY' statement hinbekommen.
Nun möchte ich allerdings, dass die Einträge nicht nur anhand der ticketnr zusammengefasst werden, sondern falls ein ticket "closed" ist, nur noch dieser Eintrag angezeigt wird. Aktuell gruppiert SQL zwar wie gewünscht nach der Ticketnr, fasst dann aber alles unter dem jeweils ersten Eintrag zusammen. Das resultat ist, dass alle tickets auf 'open' stehen, obwohl diese schon "closed" sind.
Kurz gesagt: Ich möchte jede Ticketnummer nur einmal haben, muss aber obendrein auch wissen, ob das Ticket nun 'open' oder 'closed' ist.