我有一个专栏TypeOfManager
,其中会有
TypeOfManager
-----------------
Sales
Relation
S
R
在这种情况下,我想将'R'视为关系,将'S'视为销售。
SQL Server中查询的语法是什么。
答案 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
列