项目分配给多个人,每个人都有不同的项目数量。假设项目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的项目分配给其他人。 如何做到这一点?
答案 0 :(得分: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)