![]() |
Re: SQL-Abfrage (Daten aus Verknüpfungstabelle mit ausgeben?
SQL-Code:
Im Subselect muß die datumsmäßig aktuellste Kategorie zur gerade betrachteten Person ermittelt werden. Bei meinem "Vorposter" fehlte in der Unterabfrage leider jeder Bezug zur Person.
SELECT Kathegorie1.Kath1_Datum, Person.Pers_ID, Person.Pers_Name, Person.Pers_Vorname, pk.Pers_b_Kath1_Wertung, pk.Pers_b_Kath1_Bemerkung
FROM Person LEFT JOIN (Pers_b_Kath1 pk LEFT JOIN Kathegorie1 ON pk.Kath1_ID = Kathegorie1.Kath1_ID) ON Person.Pers_ID = pk.Pers_ID WHERE (((Kathegorie1.Kath1_Datum)=( SELECT Max(Kathegorie1.Kath1_Datum) FROM Kathegorie1, Pers_b_Kath1 WHERE Pers_b_Kath1.Pers_ID = pk.Pers_ID and Kathegorie1.Kath1_ID=Pers_b_Kath1.Kath1_ID))) ORDER BY Kathegorie1.Kath1_Datum; Ich hoffe, das passt jetzt. Garantieren will ich mal lieber nichts, prüf es lieber selbst noch mal nach. |
Re: SQL-Abfrage (Daten aus Verknüpfungstabelle mit ausgeben?
Tja, das funktioniert zwar jetzt endlich.
Aber da sind dann nur die Personen drin, die auch in der Pers_b_Kath1 einen Eintrag haben. Eigentlich ist das aber so eingestellt, dass alle Personen angezeigt werden sollen. Geht aber nicht. Da sieht man mal wieder wie sch***** Access ist. Ich habe jetzt drei Abfragen realisiert, die alle aufeinander aufbauen. Dann kann man das auch Access beibringen. Andere (richtige Datenbanken) können das in einer Abfrage. Wie auch immer, probiers doch mal aus... Abfrage "view_MaxDatum"
SQL-Code:
Abfrage "view_MaxDatumInfos"
SELECT Pers_b_Kath1.Pers_ID,
MAX(Kathegorie1.Kath1_Datum) AS [Max von Kath1_Datum] FROM Kathegorie1 INNER JOIN Pers_b_Kath1 ON Kathegorie1.Kath1_ID = Pers_b_Kath1.Kath1_ID GROUP BY Pers_b_Kath1.Pers_ID;
SQL-Code:
Eigentliche Abfrage
SELECT view_MaxDatum.Pers_ID,
view_MaxDatum.[Max von Kath1_Datum], Pers_b_Kath1.Pers_b_Kath1_Wertung, Pers_b_Kath1.Pers_b_Kath1_Bemerkung FROM (view_MaxDatum INNER JOIN Kathegorie1 ON view_MaxDatum.[Max von Kath1_Datum] = Kathegorie1.Kath1_Datum) INNER JOIN Pers_b_Kath1 ON (Pers_b_Kath1.Pers_ID = view_MaxDatum.Pers_ID) AND (Kathegorie1.Kath1_ID = Pers_b_Kath1.Kath1_ID);
SQL-Code:
Da weden dann alle Personen ausgegeben, mit den jeweils letzten Informationen aus Pers_b_Kath1.
SELECT Person.Pers_ID,
Person.Pers_Name, view_MaxDatumInfos.[Max von Kath1_Datum], view_MaxDatumInfos.Pers_b_Kath1_Wertung, view_MaxDatumInfos.Pers_b_Kath1_Bemerkung FROM Person LEFT JOIN view_MaxDatumInfos ON Person.Pers_ID = view_MaxDatumInfos.Pers_ID ORDER BY Person.Pers_Name; MfG Thorsten |
Re: SQL-Abfrage (Daten aus Verknüpfungstabelle mit ausgeben?
SQL-Code:
jetzt besser?
SELECT Kathegorie1.Kath1_Datum, Person.Pers_ID, Person.Pers_Name, Person.Pers_Vorname, pk.Pers_b_Kath1_Wertung, pk.Pers_b_Kath1_Bemerkung
FROM Person LEFT JOIN (Pers_b_Kath1 pk LEFT JOIN Kathegorie1 ON pk.Kath1_ID = Kathegorie1.Kath1_ID) ON Person.Pers_ID = pk.Pers_ID WHERE (((Kathegorie1.Kath1_Datum)=( SELECT Max(Kathegorie1.Kath1_Datum) FROM Kathegorie1, Pers_b_Kath1 WHERE Pers_b_Kath1.Pers_ID = pk.Pers_ID and Kathegorie1.Kath1_ID=Pers_b_Kath1.Kath1_ID)) or pk.Pers_ID is null) ORDER BY Kathegorie1.Kath1_Datum; |
Re: SQL-Abfrage (Daten aus Verknüpfungstabelle mit ausgeben?
Ja, das sieht doch gut aus.
Jetzt muss es nur noch sunfy gefallen. Bis dann Thorsten |
Re: SQL-Abfrage (Daten aus Verknüpfungstabelle mit ausgeben?
Hey, ihr seid Klasse.
Vielen, vielen Dank. Hab grad mal den letzten Code von Tomsel ausprobiert und der liefert genau das, was ich die ganze Zeit versucht habe hinzubekommen. Wer mich jetzt erstmal die verschiedenen Varianten durchlesen, was genau ihr für Ideen hattet. Die letzte Idee von Tomsel, eine Where Abfrage von einem Speziell auf das Maximale Datum ausgerichteten Join zu machen ist klasse, da wäre ich so schnell nicht drauf gekommen. Die aufeinander aufbauenden Abfragen von Omata funktionieren auch wunderbar. Werd Sie mir gleich nochmal in Ruhe anschauen um zu verstehen, was genau sie jeweils machen, hab ich jetzt auf Anhieb noch nicht ganz verstanden. Aber nochmals vielen Dank. Habt mir sehr weitergeholfen. Gruß Sunfy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz