PDA

Vollständige Version anzeigen : Darstellungprobleme bei der Abfrage


Serge
27.04.2001, 11:58
Hi Leute

Ich habe volgendes Problem: Ich muß aus einer Tabelle die doppelten Einträge (abhängig vom Datum) rausschmeißen. Ich habe das zwar mit Hilfe von SQL-Abfrage erreicht, aber die Abfrage zeigt mir nur die zwei Bezugsfelder an. Ich möchte aber, daß die Abfrage mir alle Felder anzeigt. Wenn ich probiere mehrere Felder einzugeben, bekomme ich volgende Fehlermeldung: "You tried to execute a query that doesn'n include the specified expression 'Adress' as part of an aggregate function". Ich bin ein absoluter Beginner auf dem Gebiet.

Kann mir vielleicht jemand helfen?

Danke im voraus

kaybuch
27.04.2001, 13:05
Hi Serge,
poste bei solchen Fragen bitte den SQL-String mit. Dann kann Dir besser geholfen werden.
Freundliche Grüße
Kay
k.u.b@gmx.de

Serge
27.04.2001, 13:35
Hi kaybuch,

ich habe es zuerst mit

SELECT Name, max(Lastseen)
FROM Tabelle
GROUP BY Name

probiert. Damit klappt es auch wunderbar (scheint zumindest so), nur bleibt das Problem, daß nur 2 Spalten angezeigt werden. Danach habe ich

SELECT *
FROM Tabelle
WHERE LastSeen in (select max(LastSeen) from Tabelle
GROUP BY Name);

versucht. Der zeigt mir dann zwar die ganze Tabelle, es sind aber auf ein mal ein paar hundert Datensätze mehr, als mit den ersen Code. Also kann da was nicht stimmen. Ich habe dann auch probiert statt "in" andere Sachen einzugeben (z.B. EXISTS), dann macht er entweder gar nichts oder sortiert es wieder falsch. Ich habe leider keine Ahnung wo der Fehler liegt.

Kennst du (oder jemand anderer) da vielleicht Abhilfe?

MFG

Serge

kaybuch
27.04.2001, 16:00
Hi wegen der Anschaulichkeit in mehreren Abfragen gedacht:
Deine erste Abfrage bringt dir alle in der Tabelle enthaltenen Namen. Bei mehreren Vorkommen des Namens in Tabelle erscheint dieser Name im Abfrageergebnis einmal, mit dem neuesten Datum. Mit dem Ergebnis warst Du zufrieden. Wenn Du nun diese Abfrage in eine neue einbindest, dort auf die Ursprungstabelle zurückreflektierst meldet er eine Aggregatfehler.
Eine Lösung wäre es das erste Abfrageergebnis in eine Tabelle2 zu schreiben.
Dann neue Abfrage: Diese Tabelle2 verknüpfst Du mit der Tabelle über Name und Max von Lastseen (Tab2) und Name Lastseen (Tab). Achte unbedingt darauf daß die Namen eindeutig sind.
Ich hoffe das hilft dir,
Kay

Serge
30.04.2001, 09:30
Hi kaybuch

Sorry, daß ich erst jetzt schreibe, aber ich hatte über's Wochenende keine Zeit zu antworten.

Danke für dein Rat, das hat mir weitergeholfen. Jetzt scheint es einigermaßen zu funktionieren. Ich habe jetzt aber noch eine Frage. Kann man irgendwie die ganzen Abfragen (also Create, Insert und Join) zu einer einzigen Abfrage zusammenfügen? Wenn ja, wie soll das aussehen, welche Befehle brauche ich?

Danke im voraus

Serge

kaybuch
02.05.2001, 10:19
Hallo Serge,
ich würde folgendes vorschlagen:
Ein Formular erstellen. Dort eine Schatfläche einfügen und eine der Afragen ausführen lassen.
Im Coding dann die entsprechenden Zeilen nochmal darunter kopieren und die Abfragenamen anpassen.
Gruß Kay

Serge
03.05.2001, 08:33
Hallo Kay,

danke für die Hilfe. Hat wunderbar geklappt. Allerdings habe ich es dann mit einem Makro probiert, und es hat noch besser geklappt. Jetzt brauche ich nur ein mal zu klicken und es wird alles abgearbeitet.

Nochmals danke

Serge