Gib doch bei der Abfrage order by für das Datum an und nimm den ersten(Letzen) Datensatz bzw. falls möglich setz in der Tabelle das Datum als primarykey an…
Gruß
Bernd
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Jessas ne! Ich muß mich schon wundern.
Er möchte eine Abfrage; wie er seine Daten sonst kriegt, ist ihm wahrscheinlich längst klar.
Select Preis, max(Gueltig_ab)
from Preistabelle
group by Preis
order by Preis, Gueltig_ab;
Gruß
J.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Gib mal bei unserem Superman unter group
by „gueltig_ab“ mit an, daß behebt glaube
ich das Problem…
Ja, glaubst Du. Ist aber nicht so.
Das Problem liegt in der Order By-Klausel, die eine Spalte beinhaltet, die nicht in der Group By-Klausel vorkommt.
Nimmt man sie aber dort auf, würdest Du nach Preis UND Datum gruppieren, würdest also sämtliche Datensätze auswählen (und nicht den jeweils jüngsten).
Zwei mögliche Ansätze: Streich Gueltig_ab von der Order By-Klausel (sortiert wird nur nach Preis):
Select Preis, max(Gueltig_ab)
from Preistabelle
group by Preis
order by Preis;
Oder ersetze Gueltiig_ab durch max(Gueltig_ab) (sortiert wird, wie eingangs vorgesehen, nach beiden Werten):
Select Preis, max(Gueltig_ab)
from Preistabelle
group by Preis
order by Preis, max(Gueltig_ab);
Sorry, ich hatte den Krempel nicht ausprobiert. Mit ein wenig Verständnis für SQL, Gruppierungen und Mengenlehre hätte aber jeder kompetente Datenbankexperte das erkennen können (huhu Bernd!)
Gruß
J.
Gruß
Bernd
Hallo José
So einfach ist es dann auch wieder nicht
) … Dein Vorschlag ergibt die folgende
Fehlermeldung:
You tried to execute a query that doesn’t
include the specified expression
„tblPreise1.GUELTIG_AB“ as part of an
aggregate function.