Thema: mehrere Tabellen mit unterschiedlichem Inhalt abfragen

Hallo!

Ich habe ein kleines (ok, ein größeres Problem):
in einer Datenbank gibt es drei Tabellen:
access_world (1)
access_group (2)
access_user (3)

Dabei hat 3 eine höhere Priorität als 2 und 2 als 1. Mögliche Werte sind + (Zugriff gestattet), - (verweigert), 0 (neutral). Ich möchte wissen, ob der User zugriff hat.
Beispiele:
world=0; group=0; user=0 --> verweigert
world=-; group=0; user=0 --> verweigert
world=-; group=0; user=+ --> gestattet
world=+; group=+; user=- --> verweigert
usw.

Lässt sich eine solche Abfrage mit einem einzelen Query lösen, oder müssen die Fälle so abgefragt werden:
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">Query User   (+) --> Zugriff. (-) --> Zugriff verweigert.
(0) --> Query Gruppe   (+) --> Zugriff. (-) --> Zugriff verweigert.
           (0) --> Query Welt   (+) --> Zugriff. (-) --> Zugriff verweigert.
                   (0) --> Zugriff verweigert.[/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Danke für eure Hilfe!

Mamphil
 
  <small>[ 02-10-2002, 17:50: Beitrag editiert von: Mamphil ]</small>

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”

2

Re: mehrere Tabellen mit unterschiedlichem Inhalt abfragen

Hi Mamphil,
mir fällt da spontan nur ein, dass du den drei Ebenen verschiedene Werte zuordnen kannst:

world: 1
group: 2
user:  4

Bei deinen Beispielen:

world=0; group=0; user=0 --> 0 -> verweigert
world=-1; group=0; user=0 --> -1 -> verweigert
world=-1; group=0; user=+4 --> +3 -> gestattet
world=+1; group=+2; user=-4 --> -1 -> verweigert

Also, wenn die Summe > 0, dann Zugriff.
Ich glaub sowas könntest du dann auch in MySQL umsetzen (frag mich nicht wie...).

Vieleicht bringt dich das ja ein Stückchen weiter.

Basti

3

Re: mehrere Tabellen mit unterschiedlichem Inhalt abfragen

Und?
Hats was gebracht???

Basti

Re: mehrere Tabellen mit unterschiedlichem Inhalt abfragen

Hi!

Es ist ein interessanter Vorschlag, vor allem, da er flexibel erweiterbar ist. Leider hatte ich das Modul schon fertig, als ich deine Antwort entdeckt hatte. Ist zwar etwas aufwändiger, sprich mit mehreren MySQL-Queries, das sollte in meinem Fall jedoch kein Problem darstellen, da es sich um eine Intranet-Lösung handelt.

Nochmal vielen Danke!
Mamphil

The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”