0

Benutzeranlage ID je Mandant

Hallo,

ich versuche gerade eine Benutzerverwaltung aufzusetzen. Dazu habe ich eine Tabelle Mandant erstellt. Diese enthält den Namen, die MandantenID (z.B. 1.000.000) und den Hauptnutzer. In einer weiteren Tabelle User würde ich gern die Benutzer verwalten. Die BenutzerID ergibt sich dabei aus der MandantenID und einer bis zu 3-stelligen Zahl am Ende (z.B. 1.000.001). Bei Erstellung eines neuen Benutzers soll der select nach der höchsten BenutzerID zu diesem Mandanten sehen und dann +1 rechnen. Ich habe es mit verschiedenen Formen eines Last select versucht, aber dieser gibt mir brav immer die höchste ID aus, egal welchen Mandanten ich zur Anlage auswähle.

Beispiel: 

let y := last(((select User where MandantTbl.MandantenID = UserID / 1000 * 1000) order by UserID).UserID);

UserID := y+1

Ich schaffe es nicht den select auf den spezifischen Mandanten einzugrenzen, die where Bedingung liefert alle Mandanten dazu zurück, da fehlt eine Einschränkung, aber welche?

Bitte um Hilfe

Tarek

Antwort

null