【发布时间】:2018-10-16 02:38:12
【问题描述】:
我们的 SQL 开发人员汇总了以下查询,以提取今天登录到我们系统的所有员工的列表。这个查询完美地工作,并会吐出一个名字列表。我需要做的是获取它吐出的名称列表,然后在新查询中使用这些名称为每个名称更改不同表中的列。
select distinct(t.CC_FullName) as Employee,
t.CC_Supervisor as Supervisor,
t.StaffCimID
from (
select s.*,
r.CC_FullName,
r.CC_Supervisor,
r.StaffCimID
from (
select AgentFirstName + ' ' + AgentLastName as AgentName,
Agent
from pia.dbo.Five9IntraDayExtract with(nolock)
group by AgentFirstName + ' ' + AgentLastName,
Agent
) s
inner join pia.dbo.StaffInformationNew r with(nolock)
ON CASE
WHEN s.Agent LIKE '%_manual' AND s.Agent = r.Five9Name_MTM THEN 1
WHEN s.Agent NOT LIKE '%_manual' AND s.Agent = r.Five9Name THEN 1
ELSE 0
END = 1
and r.EndDate is null
) t
where t.CC_FullName is not null
and t.StaffCimID is not null
order by t.CC_FullName, t.CC_Supervisor
所以基本上在运行之后我得到一个包含三列的列表。我需要获取名称列,基本上执行以下操作:
Update Attendance Set Seated = '1' where name = 'John Doe'
我需要对初始查询的每个结果都这样做。最好的方法是什么?
【问题讨论】:
-
您可以从查询中执行
UPDATE。可能重复 (stackoverflow.com/questions/6629088/bulk-record-update-with-sql)
标签: sql sql-server