Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: ORDER in Unterselect sehr langsam

  Alt 13. Okt 2009, 19:51
Leider ist deine Frage nicht ganz präzise formuliert...

Was ist wenn einer Person noch gar kein Auftrag zugewiesen wurde, soll diese dann trotzdem erscheinen mit einem NULL Wert oder nicht?

Falls ja, versuch es so...
SQL-Code:
SELECT p.id, tb.auftragid
FROM personal p
LEFT JOIN (SELECT personalid, auftragid
           FROM terminal_buchungen tb
           WHERE buchung = (SELECT MAX(buchung)
                            FROM terminal_buchungen
                            WHERE auftragid = tb.auftragid)) tb
  ON p.id = tb.personalid
Eventuell auch etwas kompackter...
SQL-Code:
SELECT p.id, tb.auftragid
FROM personal p
LEFT JOIN terminal_buchungen tb
  ON p.id = tb.personalid
     AND (SELECT MAX(buchung)
          FROM terminal_buchungen
          WHERE auftragid = tb.auftragid) = tb.buchung
Falls nein, versuch es so...
SQL-Code:
SELECT p.id, tb.auftragid
FROM personal p
INNER JOIN terminal_buchungen tb
  ON p.id = tb.personalid
WHERE buchung = (SELECT MAX(buchung)
                 FROM terminal_buchungen
                 WHERE auftragid = tb.auftragid)
  Mit Zitat antworten Zitat