"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[SOLVED][ACCESS 2007] Abfrage

XT-TriGGeR 30.09.2009 - 10:31 1425 7
Posts

Deftik

Storage baby!
Avatar
Registered: Sep 2004
Location: Frankfurt|DE
Posts: 1279
Servus, ich hätte ein Problem und ich komm nicht weiter:

Szenario:

Die Datenbank sieht so aus:
click to enlarge

In der Tabelle Risiken stehen die Daten "Aenderung,Schadenshoehe,Wahrscheinlichkeit un Schadensart" als Zahl Variable. Sprich 1,2,3,4,5 oder 6. in den Tabellen Aenderung, Schadenshohe Schadensart und Eintrittswahrscheinlichkeit ist eine ID (1-6) und eine Jeweilige Beschreibung in Textform.

Nun möchte ich eine Abfrage erstellen in der Alle Daten aus der Risiken Tabelle dargestellt werden. Nur soll hier bei den Oben erwähnten Daten statt der Zahl der dazugehörige Text stehen. Dieser befindet sich in den einzelen Tabellen unter Beschreibung

Meine Abfrage sieh momentan wie folgt aus:
Code: PHP
SELECT Risiken.[Abteilungskuerzel], Risiken.[interneID], Risiken.[Risikoname],Schadensart.Beschreibung AS Schadensart,  Risiken.[Einschaetzung], Risiken.[Handlungsbedarf]
FROM Risiken 
INNER JOIN Schadensart ON Risiken.Schadensart = Schadensart.ID

Als Ergebnis bekomme ich folgendes:
click to enlarge

dies ist soweit richtig und gewollt. Nur wenn ich nun eine weitere Join verbindung machen möchte:

Code: PHP
SELECT Risiken.[Abteilungskuerzel], Risiken.[interneID], Risiken.[Risikoname],Schadenshoehe.Beschreibung AS Schadenshoehe,Schadensart.Beschreibung AS Schadensart,  Risiken.[Einschaetzung], Risiken.[Handlungsbedarf]
FROM Risiken 
INNER JOIN Schadensart ON Risiken.Schadensart = Schadensart.ID
INNER JOIN Schadenshoehe ON Risiken.Schadenshoehe = Schadenshoehe.ID;

bekomm ich folgenden Fehler:

fehler_146445.jpg

Ich hoffe ich konnte euch mein Problem verständlich machen. Wenn ihr noch informationen braucht raus damit ich geb sie euch gern wenn ich kann.

Danke für eure Unterstützung.
Bearbeitet von Deftik am 30.09.2009, 11:11

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
Code: PHP
SELECT Risiken.[Abteilungskuerzel], Risiken.[interneID], Risiken.[Risikoname],Schadenshoehe.Beschreibung AS Schadenshoehe,Schadensart.Beschreibung AS Schadensart,  Risiken.[Einschaetzung], Risiken.[Handlungsbedarf]
FROM (Risiken 
INNER JOIN Schadensart ON Risiken.Schadensart = Schadensart.ID)
INNER JOIN Schadenshoehe ON Risiken.Schadenshoehe = Schadenshoehe.ID;
Geht es so vielleicht? (Das erste INNER JOIN in Klammern)

EDIT: Den Tipp hab ich hier herausgelesen --> http://codingforums.com/showthread.php?t=39008
Da hatte einer das gleiche Problem :)

Deftik

Storage baby!
Avatar
Registered: Sep 2004
Location: Frankfurt|DE
Posts: 1279
Nein leider nicht
click to enlarge

und sry, ich hatte vergessen zu erwähnen das ich schon das ein oder andere Forum durchforstet habe ;) und die vorgeschlagenen lösungen nicht funktioniert haben :confused:

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
Die aufgehende Klammer nach das FROM, nicht davor hilft auch nichts? (Sieht bei der neuen Fehlermeldung so aus)

Deftik

Storage baby!
Avatar
Registered: Sep 2004
Location: Frankfurt|DE
Posts: 1279
ALTER mal so ein derbes WTF auf einmal geht es. und wie bekomm ich jetzt das 3. und 4. INNER JOIN hin?

Code: PHP
SELECT Risiken.[Abteilungskuerzel], Risiken.[interneID], Risiken.[Risikoname],Schadenshoehe.Beschreibung AS Schadenshoehe,Schadensart.Beschreibung AS Schadensart,  Risiken.[Einschaetzung], Risiken.[Handlungsbedarf] 
FROM (Risiken  
INNER JOIN Schadensart ON Risiken.Schadensart = Schadensart.ID) 
INNER JOIN Schadenshoehe ON Risiken.Schadenshoehe = Schadenshoehe.ID
INNER JOIN Eintrittswahrscheinlichkeit ON Risiken.Wahrscheinlichkeit = Eintrittswahrscheinlichkeit.ID
INNER JOIN Aenderung ON Risiken.Aenderung = Aenderung.ID;

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
Kanns in der Firma leider nicht ausprobieren, weiß auch nicht ob mir die Gurus jetzt nicht eine Gnackwatschn geben für die Strukturierung, etc. :D

Aber jedes INNER JOIN in eine Klammer setzen müßte die Lösung sein!

Code: PHP
SELECT Risiken.[Abteilungskuerzel], Risiken.[interneID], Risiken.[Risikoname],Schadenshoehe.Beschreibung AS Schadenshoehe,Schadensart.Beschreibung AS Schadensart,  Risiken.[Einschaetzung], Risiken.[Handlungsbedarf] 
FROM (((Risiken  
INNER JOIN Schadensart ON Risiken.Schadensart = Schadensart.ID) 
INNER JOIN Schadenshoehe ON Risiken.Schadenshoehe = Schadenshoehe.ID)
INNER JOIN Eintrittswahrscheinlichkeit ON Risiken.Wahrscheinlichkeit = Eintrittswahrscheinlichkeit.ID)
INNER JOIN Aenderung ON Risiken.Aenderung = Aenderung.ID;

Deftik

Storage baby!
Avatar
Registered: Sep 2004
Location: Frankfurt|DE
Posts: 1279
Du hast bei mir soeben den GOTT-Modus erreicht ich sitzte seit gestern Mittag an diesem Problem funktioniert einwandfrei.

Gruß und danke TriGGeR

Bodominjaervi

OC Addicted
Registered: Jul 2002
Location: AT
Posts: 7813
Kein Problem, gerne :)
Aber muss noch dazusagen: Ich bin in dem Fach bei der Matura durchgeflogen vor ein paar Jahren :D
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz