接続されているユーザーの会社のメンバーシップとその会社の地域に基づいて、ID とコンピューター名のリストを次の形式で返すストアド プロシージャを作成しようとしています。
ID | ComputerName
=================
....しかし、私は本当にそれでどこにも行きません。助けていただければ幸いです!
ログインしたユーザーがメンバーである会社/地域に応じて、ComputerName の値を NameCompany、NameRegion、NamePublic のいずれかにする必要があります。
コンピューター名テーブル:
ComputerID | CompnayID | NameCompany | NameRegion | NamePublic
================================================================
1 | 1 | AlicesPC | MarketingPC | GeneralPC
2 | 1 | BobsPC | FinancePC | SpecialPC
3 | 2 | AndysPC | AdminPC | ProtectedPC
4 | 3 | JanesPC | ReceptionPC | GeneralPC
ユーザー表:
UserID | UserName | MemberofCompanyID
=====================================
1 | Jim | 1
2 | Sally | 2
3 | Ann | 3
会社表:
CompanyID | CompanyName | MemberOfRegionID
==========================================
1 | Acme | North
2 | Sprockets | North
3 | Arkwrights | South
ラジオテーブル:
RegionID | RegionName
=====================
1 | North
2 | South
そのような:
Jim が返す「StoredProcedure」から (ID,ComputerName) を選択します。
ID | ComputerName
=================
1 | AlicesPC
2 | BobsPC
3 | AdminPC
4 | GeneralPC
Sally が返す「StoredProcedure」から (ID,ComputerName) を選択します。
ID | ComputerName
=================
1 | MarketingPC
2 | FinancePC
3 | AndysPC
4 | GeneralPC
Ann が返す「StoredProcedure」から (ID,ComputerName) を選択します。
ID | ComputerName
=================
1 | GeneralPC
2 | SpecialPC
3 | ProtectedPC
4 | JanesPC
私はまた、特定のユーザーのために物事を修正できる「OverrideName」テーブルを追加しようとしています:
OverrideName テーブル:
OverrideID | UserID | ComputerID | OverrideName
======================================================
1 | 3 | 2 | Special-PC-TopFloor
したがって、Ann の「StoredProcedure」から (ID,ComputerName) を選択します。
ID | ComputerName
=================
1 | GeneralPC
2 | Special-PC-TopFloor
3 | ProtectedPC
4 | JanesPC
これまでの私の思考プロセスは、次の結果セットを構築することでした
ID、名前公開
次に、NameRegion を使用してこれを上書きします。ここで、ユーザー ID は会社内にあり、会社は地域内にあります。
次に、ユーザー ID が会社にある NameCompany を使用して上書きします。
最後に、エントリがユーザー名と一致するオーバーライド テーブルのデータでそれを上書きします。
ヘルプや提案をいただければ幸いです。
ありがとう、
ベン