请教一个 关于sql数据去除重复的语句 我现在是这样写的
delete from [dbo].[testdata]
WHERE
([ID],[dDate],[dTime],[MachineID]) in (select[ID],[dDate],[dTime],[MachineID]
from [dbo].[testdata] group by
[ID],[dDate],[dTime],[MachineID] having count(*) > 1)
判断重复数据的标准是三个字段([ID],[dDate],[dTime],[MachineID]) 但是在mssql里不行 请问我需要怎么改写?
报的错误是 在应使用条件的上下文(在 ',' 附近)中指定了非布尔类型的表达式。
in在MSSQL里面不能包含多个字段么?
------解决思路----------------------
delete from [dbo].[testdata]你可以参考一下
WHERE
CAST([ID]AS VARCHAR)+CAST([dDate]AS VARCHAR)+CAST([dTime]AS VARCHAR)+CAST([MachineID]AS VARCHAR)
in (select CAST([ID]AS VARCHAR)+CAST([dDate]AS VARCHAR)+CAST([dTime]AS VARCHAR)+CAST([MachineID]AS VARCHAR)
from [dbo].[testdata] group by
[ID],[dDate],[dTime],[MachineID] having count(*) > 1)