删除SQL Server查询中的重复数据

时间:2011-11-15 05:48:29

标签: sql-server duplicates

我有一个专栏TypeOfManager,其中会有

等条目
TypeOfManager 
-----------------
Sales
Relation
S
R

在这种情况下,我想将'R'视为关系,将'S'视为销售。

SQL Server中查询的语法是什么。

3 个答案:

答案 0 :(得分:2)

Select Columna, 
Columnb,
Case when TypeofManager in ('Sales','S') then 'sales'
when TypeofManager in ('Relation','R') then 'Relation'
Else TypeofManager end as TypeOfManager
From yourtable

Columna,上面的列显然会替换为表中所需的任何实际列。

<强>更新

Select count(*), typeofmanager, Columna , columnb from (Select Columna, 
Columnb,
Case when TypeofManager in ('Sales','S') then 'sales'
when TypeofManager in ('Relation','R') then 'Relation'
Else TypeofManager end as TypeOfManager
From yourtable ) x
Group by TypeofManager, Columna, columnb

答案 1 :(得分:0)

是否有“S”和“R”无法更改为“销售”和“关系”的原因?如果没有,只需在运行主查询之前运行更新查询。如果是这样,那么假设字母是唯一的,只需执行“S%”或“R%”查询。或者您可以编写使用Or / And的全向查询。

答案 2 :(得分:0)

您可以创建一个主表来保留经理类型

Create TypeofManager (
 ManagerTypeId char(1) not null,
 ManagerTypeDescription nvarchar(50)
)

然后,您可以使用外键列ManagerTypeId

从其他表数据中引用此表

您只能存储ManagerTypeId并使用ManagerTypeId

加入两个表格