Ich brauche etwas Hilfe mit SQL.Union alle Abfrage - brauchen das neueste Datum pro Gruppe
bekam ich 2 Tabellen (T1
und T2
), machte es in 1 Tisch (T3
) von union all
T1
DateT GROUP ID_Pers Sec
2016/10/24 13:05:33 840 122 7.75
2016/10/24 11:10:29 840 244 8.4
T2
DateT GROUP ID_Pers Sec
2016/10/24 12:10:37 840 122 7.75
2016/10/25 08:38:59 840 156 7
2016/10/25 09:39:22 840 244 6.7
T3
DateT GROUP ID_Pers Sec
2016/10/24 13:05:33 840 122 7.75
2016/10/24 11:10:29 840 244 8.4
2016/10/24 12:10:37 840 122 7.75
2016/10/25 08:38:59 840 156 7
2016/10/25 09:39:22 840 244 6.7
mit benutze ich dies zu tun:
SELECT DateT,GROUP, ID_Pers,Sec
FROM
(
SELECT DateT,GROUP, ID_Pers,Sec FROM T1
UNION ALL
SELECT DateT,GROUP, ID_Pers,Sec FROM T2
) T3
GROUP BY ID
Jetzt möchte ich fügen Sie alle eine Abfrage zu dieser Vereinigung die neuesten DateT
zu bekommen, pro Group
, pro IDPers
, Sec
Ergebnis sollte wie folgt sein:
DateT GROUP ID_Pers Sec
2016/10/24 13:05:33 840 122 7.75
2016/10/25 09:39:22 840 244 6.7
2016/10/25 08:38:59 840 156 7
Irgendwelche Vorschläge?
Hallo, immer noch nicht funktioniert, wenn ich benutze:
- SELECT groupN, ID_Pers, MAX (DateT) als DateT, Sec FROM ( SELECT DateT, groupN, ID_Pers, Sec FROM T1 UNION ALLE SELECT DateT, groupN, ID_Pers, Sec VON T2 ) T3 GROUP BY ID_Pers, groupN, Sec
ich Ergebnis: GROUP ID_PERS DateT Sec
840 122 2016/10/24 13:05:33 7.75 840 156 2016/10/25 8:38:59 7 840 244 2016/10/25 9:39:22 6.7 840 244 2016/10/24 11:10:29 8,4
Doppelergebnis für ID_Pers 244. nur für ein Ergebnis zeigen sollte 244.
Ergebnis GROUP ID_PERS DateT Sec
840 122 2016/10/24 13:05 sein sollte: 33 7.75 840 156 2016/10/25 8:38:59 7 840 244 2016/10/25 9:39:22 6.7
Nur ein Ergebnis f oder jede Gruppe und das letzte Datum.
SELECT m Axt (DateT), GROUP, ID_Pers, Sec ......Gruppe von GROUP, ID_Pers, Sec' – artm
@ArtM als Antwort, besser als die anderen, wie es kurz und süß ist – Edward
@Edward, Antwort funktioniert nicht immer noch mit Problem – Frankie