verwendetes Datenbanksystem: Microsoft SQL 2005 und höher
Guten Morgen,
ich habe eine kleines Problem bei der Umsetzung einer SQL-Abfrage unter bestimmten Rahmenbedingungen.
Ich habe zwei Tabellen (siehe anhang) (Die Tabellen im Anhang sind auf das wesentliche gekürzt.).
Tabelle1 enthält Anweisungen und Tabelle2 ist eine Art Rechtetabelle.
In der Rechtetabelle wird gespeichert welche Benutzergruppen die Anweisung sehen düfen. Also ist für jede
Benutzergruppe die eine Anweisung sehen darf ein Eintrag vorhanden.
Die Tabelle2 ist mit Tabelle1 so verknüpft Tabelle1.GUID =Tabelle2.GUIDBETRAW
Die GruppenID ist in der Spalte ORGFILTER gespeichert.
Mein Problem ist nun folgendes:
Ein Benutzer kann mehreren Gruppen angehören. Wenn nun eine Anweisung von mehreren Gruppen des
Benutzers gesehen werden kann taucht diese mehrfach in der Liste auf. Wie bekomme ich es hin das die
Anweisung nur einmal Angezeigt wird?
Hier die bisherige Anweisung
Wobei hier "00002" und "0000300001" als Beispiele zum angehängten Datenbestand dient.
Und noch mal zur Übersicht die Tabellen Struktur
Ich hoffe jemand kann mir da weiterhelfen.
Gruß TomArte
Guten Morgen,
ich habe eine kleines Problem bei der Umsetzung einer SQL-Abfrage unter bestimmten Rahmenbedingungen.
Ich habe zwei Tabellen (siehe anhang) (Die Tabellen im Anhang sind auf das wesentliche gekürzt.).
Tabelle1 enthält Anweisungen und Tabelle2 ist eine Art Rechtetabelle.
In der Rechtetabelle wird gespeichert welche Benutzergruppen die Anweisung sehen düfen. Also ist für jede
Benutzergruppe die eine Anweisung sehen darf ein Eintrag vorhanden.
Die Tabelle2 ist mit Tabelle1 so verknüpft Tabelle1.GUID =Tabelle2.GUIDBETRAW
Die GruppenID ist in der Spalte ORGFILTER gespeichert.
Mein Problem ist nun folgendes:
Ein Benutzer kann mehreren Gruppen angehören. Wenn nun eine Anweisung von mehreren Gruppen des
Benutzers gesehen werden kann taucht diese mehrfach in der Liste auf. Wie bekomme ich es hin das die
Anweisung nur einmal Angezeigt wird?
Hier die bisherige Anweisung
Code:
SELECT t1.GUID, t1.BTRWNR, t1.BGBEZ1, t2.* FROM Tabelle1 AS t1 INNER JOIN Tabelle2 AS t2 ON t1.GUID = t2.GUIDBETRAW WHERE t2.ORGFILTER ='00002' OR t2.ORGFILTER ='0000300001'
Und noch mal zur Übersicht die Tabellen Struktur
Code:
Tabelle1: BGBEZ1;BTRWNR;GUID Tabelle2: GUID;GUIDBETRAW;ORGBEZ;ORGID;ORGFILTER;ORGGUID
Gruß TomArte
Comment