Sql 根据查询结果更新字段

Sql 根据查询结果更新字段,sql,sql-server,insert,Sql,Sql Server,Insert,我有两张桌子: 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_I

我有两张桌子:

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]
我编写此命令是为了将数据从一个表转移到另一个表:

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
现在,我希望在
[ERP\u TEST]
表中的
**ERP\u是重复的**
字段中,如果
EMER\u EmployeeID
表中的
EMER\u EmployeeID是重复的,则会有1(int),否则为0(int)


你能帮我吗

如果希望标志引用在
EmployeeERP
表中重复的员工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 Server。

请标记dbms use。您所说的“重复”是什么意思?EMER_EmployeeNumber的值在EmployeeERP表中的多个记录中找到。