Unterabfrage mit Ergebnis der ersten Abfrage

chwa90

Neuer Benutzer
Beiträge
2
Hallo zusammen,

ich stehe vor folgendem Problem und knobel schon ein paar Wochen (immer mal wieder) an einer Lösung. Leider bisher ohne Erfolg. Ich schätze für jemanden mit Know-How ist die Aufgabe vergleichsweise einfach zu lösen.
Ich habe eine Tabelle A, in dem verschiedene Informationen zu Aufträgen hinterlegt werden. Unter anderem Start- und End-Zeit des Auftrags. Ich habe eine weitere Tabelle B, in der zeitlich gesteuert (aller 5 Minuten)verschiedene Parameter weggeschrieben werden. Ich möchte nun in meiner Abfrage für jeden angezeigten Auftrag den Mittelwert eines Parameters anzeigen.

A.Spalte1
A.Spalte2
A.Spalte3
A.Startzeit
A.Endzeit
AVG(B.Parameter)

Die Verbindung zwischen Tabelle A und B bildet die Start und Endzeit. Heißt: Für jede Zeile im Ergebnis müsste ich nun separat mit der Start- und End-Zeit die Tabelle B abfragen.

Etwas vereinfacht dargestellt, das Ergebnis, was ich abziele:

A.Spalte1 | A.Startzeit | A.Endzeit | B.Parameter
Auftragsnr1 | 01.01.2017-18:52 | 06.01.2017-17:42 | AVG(B.Parameter) zwischen 01.01.-18:52 und 06.01.-17:42
Auftragsnr2 | 04.01.2017-13:32 | 10.01.2017-08:21 | AVG(B.Parameter) zwischen 04.01.-13:32 und 10.01-08:21

Leider habe ich keine Ahnung, wie ich diese Unterabfrage mit Variablenübergabe einbinden könnte. Kann mir jemand helfen? Wenn mehr Informationen benötigt werden, stell' ich diese natürlich gern zur Verfügung.

Danke vorab & Viele Grüße,
Christopher
 
Werbung:
Code:
SELECT a.Spalte1,a.Spalte2,a.Spalte3,avg(b.parameter) AS parameter
FROM tabelleA a
LEFT JOIN tabelleB b
ON a.Auftragsnr = b.Auftragsnr
AND b.Zeit BETWEEN a.Startzeit AND a.Endzeit
GROUP BY a.Spalte1,a.Spalte2,a.Spalte3
 
Werbung:
Hallo Ukulele, Hallo akretschmer,

entschuldigt bitte die verspätete Antwort. ich konnte das Problem mit dem LEFT JOIN lösen (nach ein wenig gepuzzle aufgrund anderer JOINS, die ich dann über Subabfragen vom restlichen Geschehen abgetrennt habe)
Vielen, vielen Dank!

Grüße,
Christopher
 
Zurück
Oben