根据查询结果更新字段
Update a field according to a query results
我有两个 table:
Table 1 - [EmployeeERP]:
[EMER_ID] - My Own Identity - primary key
[EMER_CreateDate]
[EMER_EmployeeID]
[EMER_EmployeeNumber]
Table 2 - [ERP_TEST]:
[ERPT_ID] - My Own Identity - primary key
[ERPT_EmployeeNumber]
[ERPT_EmployeeID]
[ERPT_IsDuplicate]
我写了这个命令来从一个 table 获取数据到另一个:
INSERT INTO [dbo].[ERP_TEST] ([ERPT_ID],[ERPT_EmployeeNumber],[ERPT_EmployeeID])
select [EMER_ID],[EMER_EmployeeNumber],[EMER_EmployeeID] from [dbo].[EmployeeERP]
后来我写了这个查询:
SELECT *
FROM (
select [EMER_EmployeeID] , count(*) as cnt
from [dbo].[EmployeeERP]
group by [EMER_EmployeeID]
) as T
where T.cnt > 1
现在,我希望在 table [ERP_TEST]
字段 **ERPT_IsDuplicate**
中,如果 EmployeeERP
中的 EMER_EmployeeID
将有 1 (int) =] table 是重复的,否则为 0 (int)。
你能帮帮我吗?
如果您希望标志引用 EmployeeERP
table 中重复的员工 ID,则可以使用 join
:
update t
set erpt_isduplicate = (case when e.cnt > 1 then 1 else 0 end)
from erp_test t left join
(select [EMER_EmployeeID], count(*) as cnt
from [dbo].[EmployeeERP]
group by [EMER_EmployeeID]
) e
on e.emer_employeeid = t.ERPT_EmployeeID;
根据您的语法,我假设您正在使用 SQL 服务器。
我有两个 table:
Table 1 - [EmployeeERP]:
[EMER_ID] - My Own Identity - primary key
[EMER_CreateDate]
[EMER_EmployeeID]
[EMER_EmployeeNumber]
Table 2 - [ERP_TEST]:
[ERPT_ID] - My Own Identity - primary key
[ERPT_EmployeeNumber]
[ERPT_EmployeeID]
[ERPT_IsDuplicate]
我写了这个命令来从一个 table 获取数据到另一个:
INSERT INTO [dbo].[ERP_TEST] ([ERPT_ID],[ERPT_EmployeeNumber],[ERPT_EmployeeID])
select [EMER_ID],[EMER_EmployeeNumber],[EMER_EmployeeID] from [dbo].[EmployeeERP]
后来我写了这个查询:
SELECT *
FROM (
select [EMER_EmployeeID] , count(*) as cnt
from [dbo].[EmployeeERP]
group by [EMER_EmployeeID]
) as T
where T.cnt > 1
现在,我希望在 table [ERP_TEST]
字段 **ERPT_IsDuplicate**
中,如果 EmployeeERP
中的 EMER_EmployeeID
将有 1 (int) =] table 是重复的,否则为 0 (int)。
你能帮帮我吗?
如果您希望标志引用 EmployeeERP
table 中重复的员工 ID,则可以使用 join
:
update t
set erpt_isduplicate = (case when e.cnt > 1 then 1 else 0 end)
from erp_test t left join
(select [EMER_EmployeeID], count(*) as cnt
from [dbo].[EmployeeERP]
group by [EMER_EmployeeID]
) e
on e.emer_employeeid = t.ERPT_EmployeeID;
根据您的语法,我假设您正在使用 SQL 服务器。