2016-05-26 1 views
0

プロジェクトは複数の人物に割り当てられ、それぞれ異なるプロジェクト数が割り当てられます。仮に、プロジェクトAは、以下のように割り当てられます。ある人物にプロジェクトが割り当てられているレコードを選択する方法と、他の人物に割り当てられた同じプロジェクトのレコードを選択する方法は?

P1 - Qty 50 
P2 - Qty 120 
P3 - Qty 75 

私のテーブルの構造は次のとおりです。

Project - AssignedPerson - AssignedDate - AssignedQty 
ProjectA - P1   - 12/01/2016 - 50 
ProjectA - P2   - 12/01/2016 - 120 
ProjectA - P3   - 12/01/2016 - 75 
ProjectB - P1   - 15/01/2016 - 210 
ProjectB - P3   - 16/01/2016 - 90 
ProjectC - P2   - 17/01/2016 - 110 
ProejctC - P3   - 17/01/2016 - 120 

は今、人P1がログインし、彼の割り当てを見ていると言います。 は、私は以下のように彼にレコードを表示したい - リストの上

Project - AssignedPerson - AssignedDate - AssignedQty 
ProjectA - P1   - 12/01/2016 - 50 
ProjectA - P2   - 12/01/2016 - 120 
ProjectA - P3   - 12/01/2016 - 75 
ProjectB - P1   - 15/01/2016 - 210 
ProjectB - P3   - 16/01/2016 - 90 

は P1に割り当てられたプロジェクトのために他の人に割り当てられているどのくらいの数量を示しP1のレコードもレコードが表示されます。 これを行うには?

+1

テーブルの構造を指定して詳細情報を投稿できますか?私たちはあなたが働いていることについて何も知らないと思っています。 – Petaflop

答えて

0

希望する人の変数が必要です。@personとしましょう。あなたの質問は、人がP1の場合のようになります:

declare @person nvarchar(10) = 'P1' 
select * from TABLE_NAME where AssignedPerson = @person or project in (select project from TABLE_NAME t1 where t1.assignedperson = @person) 
+0

MSANZそれはうまくいった。ありがとう。 – nkrishna

関連する問題