原帖:
SQL 更新问题问题是我没有表达清楚,请直接看原帖13楼即可!---------------------------------------------------才发现【TravyLee】已经是版主了,恭喜哈!
SQL 更新问题问题是我没有表达清楚,请直接看原帖13楼即可!---------------------------------------------------才发现【TravyLee】已经是版主了,恭喜哈!
declare @t varchar(100)
update a SET
@t = stuff(replace(',' + a.TaskIDs + ',' ,',' + cast(d.ID as varchar(10)) + ',',',' + cast(b.ID as varchar(10)) + ',') ,1,1,'')
,TaskIDs = LEFT(@t,LEN(@t) -1 )
FROM PMS_TaskAllocation a,PMS_Task b
,PMS_TaskAllocation c,PMS_Task d
WHERE a.ProjectID = 14
and b.ProjectID = 14
and c.ProjectID = 6
and d.ProjectID = 6
and a.GUID = c.GUID
and a.TaskIDs = c.TaskIDs
and b.GUID = d.GUID
and ',' + c.TaskIDs + ',' like '%,' + cast(d.id as varchar(10)) + ',%'
TaskIDs = QQs = STUFF(X.ids.value('/R[1]','nvarchar(MAX)'),1,1,'')
FROM PMS_TaskAllocation a inner join PMS_Task b
on a.ProjectID = b.ProjectID
cross apply (
select ids = (
select N';' + cast(d.id as varchar(10))
from PMS_TaskAllocation c,PMS_Task d
WHERE c.ProjectID = 6
and d.ProjectID = 6
and a.GUID = c.GUID
and a.TaskIDs = c.TaskIDs
and b.GUID = d.GUID
and ',' + c.TaskIDs + ',' like '%,' + cast(d.id as varchar(10)) + ',%'
order by d.id
FOR XML PATH(''), ROOT('R'), TYPE
)
) as x
TaskIDs = STUFF(X.ids.value('/R[1]','nvarchar(MAX)'),1,1,'')
FROM PMS_TaskAllocation a inner join PMS_Task b
on a.ProjectID = b.ProjectID
cross apply (
select ids = (
select N',' + cast(d.id as varchar(10))
from PMS_TaskAllocation c,PMS_Task d
WHERE c.ProjectID = 6
and d.ProjectID = 6
and a.GUID = c.GUID
and a.TaskIDs = c.TaskIDs
and b.GUID = d.GUID
and ',' + c.TaskIDs + ',' like '%,' + cast(d.id as varchar(10)) + ',%'
order by d.id
FOR XML PATH(''), ROOT('R'), TYPE
)
) as x