Hallo, ich würde etwas Hilfe benötigen.
Ich habe zwei Tabellen (hier nur mit den relevanten Feldern) und möchte aus der Protokollierungstabelle zu jeder Rechnung jeweils den Zeitpunkt von StatusID 3 und 4.
Tabelle Rechnungen
Tabelle Protokollierung
Gewünschtes Ergebnis
Mir ist grundsätzlich klar, wie ich die beiden Tabellen verknüpfe, aber wie bekomme ich nur eine Zeile pro Rechnung und die Werte aus der Tabelle Protokollierung in die Spalten?
Ich habe zwei Tabellen (hier nur mit den relevanten Feldern) und möchte aus der Protokollierungstabelle zu jeder Rechnung jeweils den Zeitpunkt von StatusID 3 und 4.
Tabelle Rechnungen
Rechnungsnummer | InterneID |
100 | 678 |
101 | 754 |
102 | 876 |
Tabelle Protokollierung
InterneID | StatusID | Zeitpunkt |
678 | 1 | 2022-10-07 09:30:55.0000000 |
678 | 2 | 2022-10-08 10:30:55.0000000 |
678 | 3 | 2022-10-19 09:30:55.0000000 |
754 | 1 | 2022-10-06 09:30:55.0000000 |
754 | 2 | 2022-10-07 09:30:55.0000000 |
754 | 3 | 2022-10-08 09:30:55.0000000 |
754 | 4 | 2022-10-09 09:30:55.0000000 |
876 | 1 | 2022-10-05 09:30:55.0000000 |
876 | 2 | 2022-10-08 09:30:55.0000000 |
876 | 3 | 2022-10-09 09:30:55.0000000 |
876 | 4 | 2022-10-15 09:30:55.0000000 |
Gewünschtes Ergebnis
Rechnungsnummer | InterneID | ZeitpunktStatusID3 | ZeitpunktStatusID4 |
100 | 678 | 2022-10-19 09:30:55.0000000 | |
101 | 754 | 2022-10-08 09:30:55.0000000 | 2022-10-09 09:30:55.0000000 |
102 | 876 | 2022-10-09 09:30:55.0000000 | 2022-10-15 09:30:55.0000000 |
Mir ist grundsätzlich klar, wie ich die beiden Tabellen verknüpfe, aber wie bekomme ich nur eine Zeile pro Rechnung und die Werte aus der Tabelle Protokollierung in die Spalten?
SQL:
SELECT r.Rechnungsnummer, r.InterneID, p.Zeitpunkt
FROM Rechnung r
LEFT JOIN Protokollierung P ON r.InterneID = p.InterneID
WHERE p.StatusID IN (3,4)