AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Abfrage über mehrere Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrage über mehrere Tabellen

Ein Thema von hirnstroem · begonnen am 25. Mai 2007 · letzter Beitrag vom 1. Jun 2007
 
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Abfrage über mehrere Tabellen

  Alt 25. Mai 2007, 12:26
Datenbank: MS Access • Version: kA • Zugriff über: ADO
'loha Folks,

ich benötige etwas Hilfe. Im angehängten Bild sind die Beziehungen einiger Tabellen dargestellt.

Die Abfrage soll folgende Felder liefern:
Key.Code, Key.KeyID, Device_User.Access, Device_User.DeviceID

Der einzige Parameter für die Abfrage ist eine DeviceID.

In der Tabelle Device_User sowie Device_Key sind immer sämtliche Einträge aus der jeweils linken und rechten Tabelle vorhanden, in User_Key ist dies nicht der Fall.

Die Abfrage wird benötigt um Schlüssel auf Geräte zu Programmieren. Wenn ein Schlüssel mit einer Person in Beziehung steht, sollen dessen Zutrittsrechte übernommen werden, ansonsten wird der Zutritt verwehrt.

Leider sind meine bisherigen Versuche eine Abfrage zusammenzuschustern kläglich gescheitert. Ich hoffe deshalb auf etwas Beihilfe.

Meine bisherige, von Access verunstaltete Abfrage sieht so aus und liefert nur das Gewünschte Ergebnis wenn einem User ein Key zugeordnet ist. Vielleicht kann man darauf aufbauen:

[code=sql]
SELECT [Key].[Code], [Key].[KeyID], [Device_User].[Access], [Device_User].[DeviceID]
FROM ([User] INNER JOIN (([Key] INNER JOIN Device_Key ON [Key].[KeyID]=[Device_Key].[KeyID]) INNER JOIN User_Key ON [Key].[KeyID]=[User_Key].[KeyID] Or [User_Key].[KeyID] Is Null) ON [User].[UserID]=[User_Key].[UserID] Or [User_Key].[UserID] Is Null) INNER JOIN Device_User ON [User].[UserID]=[Device_User].[UserID]
WHERE [Device_User].[DeviceID]=[eviceID] And [Key].[KeyID]=[Device_Key].[KeyID] And ([User].[UserID]=[User_Key].[UserID] Or [User_Key].[UserID] Is Null)
GROUP BY [Key].
Code:
, [Key].[KeyID], [Access], [Device_User].[DeviceID];
Ich bin mir langsam auch nicht mehr sicher ob sich das gewünschte Resultat mit nur einer Abfrage realisieren lässt -.-

Grüsse
hirnstroem
Angehängte Grafiken
Dateityp: jpg qry_appendkey_174.jpg (18,7 KB, 18x aufgerufen)
inde deus abest
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 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 by Thomas Breitkreuz