Ich brauche Hilfe! Zum Beispiel gibt es vier Tabellen: Autos, Benutzer, Abteilungen und join_user_department. Letzte Tabelle, die für die M: N-Beziehung zwischen den Tabellen Benutzer und Abteilung verwendet wird, da einige Benutzer nur eingeschränkten Zugriff haben. Ich muss die Anzahl der Autos in Abteilungen abrufen, in denen Benutzer Zugriff haben. Die Tabelle "Autos" hat eine Spalte department_id. Wenn die Tabelle join_user_department keinen Eintrag von user_id hat, bedeutet dies, dass er Zugriff auf alle Abteilungen hat und die Abfrage muss ohne Bedingung sein. Ich brauche so etwas zu tun:wählen Sie die Abfrage mit, wenn in Oracle
declare
DEP_NUM number;--count of departments where user have access
CARS_COUNT number;--count of cars
BEGIN
SELECT COUNT (*) into DEP_NUM from join_user_departments where user_id=?;
SELECT COUNT(*) into CARS_COUNT FROM cars where
IF(num!=0)—it meant that user access is limited
THEN department_id IN (select dep_id from join_user_departments where user_id=?);
Guter Punkt. In der Datenbank sollte ein Flag vorhanden sein, das explizit den vollen Zugriff für einen Benutzer gewährt. –