私はかなり複雑なビューを持っています。クエリは、サブクエリも含む約14のテーブルからデータをプルします。結果は次のとおりです。[一意の識別子][オフィス][番号][説明][値][顧客][strjobid]..。
これで、この情報はViewTeamMembersというビューから取得されます。ViewTeamMembersビューは、一意の識別子ごとにすべてのチームメンバーを返します。チームメンバーはいるが「オーナー」がいない場合があります。ViewTeamMembers(現在実行中)からデータをプルし、所有者がいるかどうかを確認するためのクエリが必要です。所有者がいない場合は、結果セットに行を挿入する必要があります。この行には、所有者名が「割り当てられていません」と表示され、他のすべてのデータには他のチームメンバーからのデータが入力されます。どうすればこれを達成できますか?
例:
ViewTeamMembers
[unique123][Office1][555-5555][description][1,000][Frank][hourly]
[unique123][Office1][555-5555][description][1,000][Tom][Salary]
[unique123][Office1][555-5555][description][1,000][Brent][Hourly]
それに対してクエリを実行し、ジョブIDが「所有者」の人がいる行が存在するかどうかを確認する必要があります。存在しない場合は、自分の行をビューに挿入する必要があります。
[unique123][Office1][555-5555][description][1,000][Not Assigned][Owner]
したがって、クエリ結果セットを表示すると、次のようになります。
[unique123][Office1][555-5555][description][1,000][Frank][hourly]
[unique123][Office1][555-5555][description][1,000][Tom][Salary]
[unique123][Office1][555-5555][description][1,000][Brent][Hourly]
[unique123][Office1][555-5555][description][1,000][Not Assigned][Owner]
これは私の参加です
LEFT OUTER JOIN
dbo.viewteammembers ON dbo.viewteammembers.guidrequirementid = dbo.tblrequirements.guidrequirementid
私は次のようなことをしなければならないと思います:
select * from viewteammembers case when not exists(select * from viewteammebers where strjobid = 'Owner') then
しかし、これを機能させるための構文が何であるかはわかりません。
ありがとう!