PDA

Vollständige Version anzeigen : RightJoin bei 1:n Beziehung?


Slamm-0!
03.03.2005, 17:57
Hi!

Hab folgendes Problem:

Möchte aus zwei Tabellen (tblDaten und tblFondsBezeichnungen) eine Abfrage erstellen, die beide das Feld [KAG] enthalten. Ich habe eine 1:n Beziehung von tblFondsBezeichnungen zu tblDaten, da in der tblFondsBezeichnungen nur die ausgeschriebenen Bezeichnungen zu den Abkürzungen des Feldes [KAG] stehen.

Wenn ich nun in der Abfrage, in der meine 29 KAG's angezeigt werden sollen Kriterien die Volumina in Euro von tblDaten aufsummiere und einen RIGHT-JOIN von tblFondsBezeichnungen auf tblDaten, wollte ich eigentlich gerne, dass mir die 29 KAG's angezeigt werden und die, wo [Volumen_in_Euro] leer ist, sollten halt mit "0" oder leer in dem Datenfeld angezeigt werden, aber KAG und Bezeichnung sollten trotzdem in der Liste sein.

Leider zeigt mir die Abfrage trotzdem nur 27 KAG's an, weil 2 kein Volumen in Euro besitzen. Hängt das an der Beziehung?

Ich hoffe ihr versteht was ich meine!

Danke schon mal!

greez Slamm

Nouba
03.03.2005, 19:12
Für Abfragen spielen Beziehungen absolut keine Rolle. Wie sieht denn der SQL-Text der Abfrage aus?

Slamm-0!
03.03.2005, 19:21
Ich glaub ich hab jetz das Problem möglicherweise:

Ich hab das Datum als Datenfeld dabei, mit Kriterium, das nur die Daten eines Monats angezeigt werden. 2 KAG's gibt es in diesem Monat noch nicht oder nicht mehr und daher zeigt mir die Abfrage nur 27 statt 29 KAG's. Wenn ich das Kriterium rausgebe und alle Monate gezeigt kriege, sehe ich auch alle 29 KAG's...

Dachte eigentlich es müsste trotzdem gehen, dass auch nur bei einem Monat die KAG's von tblFondsBezeichnung angezeigt werden, die es in der tblDaten in diesem Monat noch nicht oder nicht mehr gibt.

Hier der SQL-Text:

SELECT tblFondBezeichnungen.KAG, tblFondBezeichnungen.Bezeichnung,
Sum(((tblDaten.Volumen_in_EUR)/1000000)) AS Total_Of_Volumen_in_EUR
FROM tblFondBezeichnungen LEFT JOIN tblDaten ON
tblFondBezeichnungen.KAG = tblDaten.KAG
WHERE (((tblDaten.Datum)=[Forms]![frmPGSVergleich]![cboMonatWaehlenPGS]))
GROUP BY tblFondBezeichnungen.KAG, tblFondBezeichnungen.Bezeichnung
ORDER BY Sum(((tblDaten.Volumen_in_EUR)/1000000)) DESC;


Vielleicht hab ich hier was falsch?

Danke für die Hilfe!

greeez Slamm

Nouba
03.03.2005, 19:38
Deine WHERE-Klausel verhindert, dass alle Fondbezeichnungen zur Ansicht gebracht werden. Verwende zwei Abfragen, um ans Ziel zu gelangen.

Slamm-0!
03.03.2005, 22:36
Danke für die Hilfe, funktioniert super!!!

greez slamm