我有以下数据库设计:
Employee Table: EmployeeID, Name, OrgCode
Department Table: OrgCode, DepartName
CompleteSurvey Table: ID, RespondentID
现在,由于我在 Employee 表中有一些员工在 OrgCode 列中有 Null 值,我想用“Others”值替换 NULL 值,因为部门表中的“Others”用(OrgCode = 4)。那么有什么问题可以帮我做这件事吗?
我有以下数据库设计:
Employee Table: EmployeeID, Name, OrgCode
Department Table: OrgCode, DepartName
CompleteSurvey Table: ID, RespondentID
现在,由于我在 Employee 表中有一些员工在 OrgCode 列中有 Null 值,我想用“Others”值替换 NULL 值,因为部门表中的“Others”用(OrgCode = 4)。那么有什么问题可以帮我做这件事吗?
使用此查询:
UPDATE Employee SET OrgCode = 4 WHERE OrgCode IS NULL
这应该适用于您作为对单个数据库的一次性更新:
update employee
set OrgCode = 4
where OrgCode is null
但是,在其他数据库中,“OrgCode”可能不是第 4 位,因此这里有一个更新应该适用于您组织中的所有数据库(或者如果“OrgCode”不是第 4 位)。
update employee
set OrgCode = d.OrgCode
from departments d
where d.DepartmentName = 'Others'
and employee.OrgCode is null
此外,您可能需要检查您正在使用的 DBMS,看看您是否可以在表的列上设置默认值。这样,每当发生插入并且缺少 OrgCode 时,都会自动填写“Others”。
好引擎是不同的,但想法总是一样的:
update employee set OrgCode = 'Others' where OrgCode IS NULL
我会试试这个:
UPDATE employee
SET orgcode = NVL( orgcode, 4 );