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)