1

接続されているユーザーの会社のメンバーシップとその会社の地域に基づいて、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 を使用して上書きします。

最後に、エントリがユーザー名と一致するオーバーライド テーブルのデータでそれを上書きします。

ヘルプや提案をいただければ幸いです。

ありがとう、

ベン

4

0 に答える 0