Daten aus 2 aufeinanderfolgenden Datensätzen in einen Datensatz zusammenfassen

18/01/2016 - 21:43 von Günther Pachschwöll | Report spam
Hallo NG,

ich habe ein Problem, bei dem ich ziemlich anstehen, womöglich ist die Lösung aber einfach und ich suche nach den falschen Begriffen.

Ich habe eine Abfrage die folgende Daten liefert:

PersNr Datum Art Zeit
10 01.12.2015 K 05:15
10 01.12.2015 G 12:01
10 01.12.2015 K 12:50
10 01.12.2015 G 18:10
10 02.12.2015 K 05:02

Als Ergebnis hàtte ich gebraucht:

PersNr Datum Zeit_K Zeit_G
10 01.12.2015 05:15 12:01
10 01.12.2015 12:50 18:10

Es müssen dabei immer 2 Datensàtze die untereinander / nacheinander sind in einen Datensatz zusammengefasst werden.

Ich hoffe das jemand einen Tip hat wie ich das lösen kann

Besten Dank bereits im Voraus.

VG
Günther
 

Lesen sie die antworten

#1 Ulrich Möller
18/01/2016 - 23:30 | Warnen spam
Am 18.01.2016 um 21:43 schrieb Günther Pachschwöll:
Hallo NG,

ich habe ein Problem, bei dem ich ziemlich anstehen, womöglich ist die Lösung aber einfach und ich suche nach den falschen Begriffen.

Ich habe eine Abfrage die folgende Daten liefert:

PersNr Datum Art Zeit
10 01.12.2015 K 05:15
10 01.12.2015 G 12:01
10 01.12.2015 K 12:50
10 01.12.2015 G 18:10
10 02.12.2015 K 05:02

Als Ergebnis hàtte ich gebraucht:

PersNr Datum Zeit_K Zeit_G
10 01.12.2015 05:15 12:01
10 01.12.2015 12:50 18:10

Es müssen dabei immer 2 Datensàtze die untereinander / nacheinander sind in einen Datensatz zusammengefasst werden.

Ich hoffe das jemand einen Tip hat wie ich das lösen kann

Besten Dank bereits im Voraus.

VG
Günther


Hallo Günther,

probiere mal diese Variante:

SELECT t1.PersNr,
(
SELECT top 1 t2.BZeit
FROM tblBuchungen AS t2
WHERE t1.PersNr = t2.PersNr and t2.BArt="K" and t2.BZeit < t1.BZeit
Order by t2.BZeit Desc
) AS Zeit_K,
t1.BZeit AS Zeit_G
FROM tblBuchungen AS t1
WHERE t1.BArt="G"
ORDER BY t1.BDatum, t1.BZeit;

Allerdings funktioniert das nur, wenn K-Zeit < G-Zeit ist und ein K/G
Datensatz paarweise auftritt und jeweils das gleiche Datum haben.
Ansonsten wird es etwas komplizierter.

vielleicht eine kleine Anmerkung:
Es ist nicht gut, wenn als Feldname ein reserviertes Wort oder ein
internen Funktionsname gewàhlt wird (deutsche und auch englische
Schreibweise: Datum). Deshalb habe ich in diesem Bsp. den Feldern etwas
andere Namen gegeben.

Ulrich

Ähnliche fragen