Einzelnen Beitrag anzeigen

SneakL8

Registriert seit: 11. Feb 2016
24 Beiträge
 
#3

AW: Wie user-abhängige Daten an View übergeben

  Alt 18. Jun 2017, 20:55
Hallo K-H,

danke für den Vorschlag. Daran hatte ich auch schon gedacht, aber durch die Bedingung UserID = :UserID wird das Ergebnis der View stark eingeschränkt. Dann würde die View doch zunächst ein sehr großes Zwischenergebnis bringen, das zuerst mit der Haupttabelle geschnitten wird, bevor der filter greift. Oder wird das über die View hinweg optimiert?
Bzw. ist eine intern in der View benutzte Tabelle überhaupt von außen ansprechbar.

Zum besseren Verständnis dann doch die Definition der View (die Joins muste ich schon klammern, weil die Optimierung sonst nicht griff):
Code:
select AuftragsNr, UnterAuftrag
  from (Auftrag as a
        join Benutzer as b
             on a.AnlageUserID = b.UserID),
       (GenGruppeBereiche as c
        join GenGruppeUser as d
             on c.GenGruppe_ID = d.GenGruppe_ID)
 where ((a.GenehmigungStatus = 'O' and
         b.Bereichs_ID = c.Bereichs_ID) or
        (a.GenehmigungStatus = 'P' and
         a.AnnahmeStatus = 'O' and
         a.EmpfaengerBereich = c.Bereichs_ID)) and
       d.UserID = :UserID;
Viele Grüße
Sneak-L8
  Mit Zitat antworten Zitat