Es geht darum:
Ich habe 2 Tabellen und möchte gerne die ersten 15 nach Datum ausgeben.
Vorhanden:
Tabelle1:
table_id time value
1 2010-05-07 11:00.000 3.00
1 2010-05-07 12:00.000 4.25
1 2010-05-07 13:00.000 6.00
2 2010-05-07 14:00.000 4.00
3 2010-05-07 15:00.000 4.55
4 2010-05-07 16:00.000 1.25
5 2010-05-07 11:00.000 1.58
5 2010-05-07 12:00.000 1.21
5 2010-05-07 13:00.000 5.58
....
Tabelle2:
table_id Ort
1 Berlin
2 Zürich
3 New York
4 Idontknow
5 Paris
so und die Ausgabe die ich gern möchte ist: ( hier halt mal die ersten 4 (anstatt 15) einträge nach Datum pro Gruppe)
table_id Ort time value
1 Berlin 2010-05-07 11:00.000 3.00
1 Berlin 2010-05-07 12:00.000 4.25
1 Berlin 2010-05-07 13:00.000 6.00
1 Berlin 2010-05-07 14:00.000 4.00
2 Zürich 2010-05-07 14:00.000 5.58
2 Zürich 2010-05-07 14:00.000 2.00
2 Zürich 2010-05-07 14:00.000 4.00
2 Zürich 2010-05-07 14:00.000 5.55
Es gibt etwa 7'000 Records und möchte gern halt die ersten 15 vom Datum von jeder Gruppe
Geht das überhaupt? Was ich bis jetzt so verucht habe sieht etwa so aus.
--------------------------------
SELECT t2.table_id,
t2.Ort,
t1.time,
t1.value
FROM Tabelle2 AS t2 INNER JOIN Tabelle1 AS t1
ON t2.table_id = I.table_id
WHERE t1.zeit In (SELECT TOP 15 t1.zeit
FROM Tabelle2
WHERE t2.ort = ort
ORDER BY DESC)
ORDER BY target, t1.zeit
---------------------------------
bei mir gibt es alle Daten aus oder Fehler ich hab schon soviel rumgeschraubt hoffe ich hab nicht schon ganz verkackt.
Wäre toll wenn mir jemand helfen könnte
Danke schonmal
Comment