Autor Beitrag
moloch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Mi 19.01.05 15:45 
Hallo,

ich habe folgende SQL die auch funktioniert.
jedoch dauert Sie zu lange.Kann mir jemand helfen sie so umzuschreiben, dass sie schneller wird.

Sinn:
Es gibt in der TabelleX zusammenhängende Sätze. Man erkennt an der NR das sie zusammengehören.
Zu jedem Satz gehört auch ein Datum
Jetzt möchte ich zu jeder Nr den Satz mit dem höchsten Datum kriegen.
Mit der folgenden SQL klappt das auch, es ist aber viel zu langsam.

select distinct a.NR,a.DATUM from TabelleX a
where (a.DATUM= (select max(DATUM) from TabelleX where NR=a.NR))

mfg
moloch
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 19.01.05 16:39 
ausblenden Quelltext
1:
2:
select NR, Max(DATUM) as MaxDatum from TabelleX
group by NR

Das sollte theoretisch genügen.
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Do 20.01.05 08:45 
guten morgen,

ich dank Dir.
das funktioniert super.

auf deine page werde ich dann mal öfter schauen, liest sich schon mal viel versprechend.

mfg moloch
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 20.01.05 08:47 
Wenn ich mit der einfachen Stringverarbeitung fertig bin, fange ich mit dem SQL-Tutorial an.
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Do 20.01.05 08:55 
das wäre gut.
ein problem hab ich noch mit der SQL merk ich gerade.

ich möchte noch ein paar andere Felder mit dieser SQL auslesen, also so z. B.

select NR,Text, Max(ZEITDATUM) as MaxDatum from TabelleX
group by NR

das geht aber nicht

mfg

moloch
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Do 20.01.05 09:08 
moloch hat folgendes geschrieben:
das wäre gut.
ein problem hab ich noch mit der SQL merk ich gerade.

ich möchte noch ein paar andere Felder mit dieser SQL auslesen, also so z. B.

select NR,Text, Max(ZEITDATUM) as MaxDatum from TabelleX
group by NR

das geht aber nicht


Wenn du eine weiteres Feld in den select-Abschnitt aufnimmst, muss der auch in den group-by-Abschnitt rein, also so:

ausblenden Quelltext
1:
2:
3:
select NR, TEXT, Max(ZEITDATUM) as MaxDatum 
from TabelleX
group by NR, TEXT


Im select-Abschnitt der Query dürfen ausser den Feldern, die im group-by-Abschnitt stehen, nur Gruppierungsfunktionen wie Max, Min, Sum usw. stehen.

Stefan
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Do 20.01.05 09:30 
dank dir stefan,
ich hab anscheinend das group by ein bischen missverstanden.
sonst hätte ich das vielleicht versucht.

mfg
moloch