Catweazle4ever
Neuer Benutzer
- Beiträge
- 4
Hallo,
ich beschäftige mich erst seit kurzem intensiver mit SQL und taste mich so langsam an die Abfrage-Syntax heran. Jetzt versuche ich gerade aus einer Tabelle eindeutige Werte herauszubekommen aber scheitere damit.
Vielleicht könnt ihr mir dabei helfen und den richtigen Request aufzeigen.
Ich habe es schon mit einem Subquerie probiert, komme damit aber nicht zu gewünschten Ergebnis:
Damit bekomme ich aber nur die Zeile mit der job_id = 25 zurück und nicht die Zeilen mit anderen period_start-Werten.
Wie müsste der richtige Request aussehen.
Vielen Dank
ich beschäftige mich erst seit kurzem intensiver mit SQL und taste mich so langsam an die Abfrage-Syntax heran. Jetzt versuche ich gerade aus einer Tabelle eindeutige Werte herauszubekommen aber scheitere damit.
Vielleicht könnt ihr mir dabei helfen und den richtigen Request aufzeigen.
Code:
Tabelle tab_xyz (vereinfacht)
job_id insert_time percentage period_start period_end
============================================================================================
17 2013-06-30 07:07:00 98.04 2013-06-29 00:00:00 2013-06-30 00:00:00
13 2013-06-30 06:13:00 96.57 2013-06-29 00:00:00 2013-06-30 00:00:00
25 2013-06-30 08:12:00 99.74 2013-06-29 00:00:00 2013-06-30 00:00:00
12 2013-06-29 06:13:00 92.96 2013-06-28 00:00:00 2013-06-29 00:00:00
10 2013-06-28 06:13:00 94.12 2013-06-27 00:00:00 2013-06-28 00:00:00
11 2013-06-27 06:13:00 99.23 2013-06-26 00:00:00 2013-06-27 00:00:00
als Ergbenis sollte dann nur folgende Zeilen herauskommen (sortiert nach insert_time):
job_id insert_time percentage period_start period_end
============================================================================================
25 2013-06-30 08:12:00 99.74 2013-06-29 00:00:00 2013-06-30 00:00:00
12 2013-06-29 06:13:00 92.96 2013-06-28 00:00:00 2013-06-29 00:00:00
10 2013-06-28 06:13:00 94.12 2013-06-27 00:00:00 2013-06-28 00:00:00
11 2013-06-27 06:13:00 99.23 2013-06-26 00:00:00 2013-06-27 00:00:00
Ich habe es schon mit einem Subquerie probiert, komme damit aber nicht zu gewünschten Ergebnis:
Code:
select * from tab_xyz
where job_id in
(select top 1 job_id from tab_xyz
order by period_start DESC, insert_time DESC)
Damit bekomme ich aber nur die Zeile mit der job_id = 25 zurück und nicht die Zeilen mit anderen period_start-Werten.
Wie müsste der richtige Request aussehen.
Vielen Dank