0

次のデータベース設計があります。

Employee Table: EmployeeID, Name, OrgCode
Department Table: OrgCode, DepartName
CompleteSurvey Table: ID, RespondentID

ここで、従業員テーブルに OrgCode 列に Null 値を持つ従業員が何人かいるので、Department テーブルに (OrgCode = 4) を持つ 'Others' があるので、NULL 値を 'Others' 値に置き換えたいと思います。それで、私のためにこれを行うためのクエリはありますか?

4

4 に答える 4

3

次のクエリを使用します。

UPDATE Employee SET OrgCode = 4 WHERE OrgCode IS NULL
于 2012-05-20T12:43:16.867 に答える
1

これは、単一のデータベースへの 1 回限りの更新として機能するはずです。

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 が欠落している場合は常に、「その他」が自動的に入力されます。

于 2012-05-20T12:44:01.650 に答える
0

エンジンは異なりますが、考え方は常に同じです。

update employee set OrgCode = 'Others' where OrgCode IS NULL
于 2012-05-20T12:42:36.697 に答える
0

私はこれを試してみます:

UPDATE employee
SET    orgcode = NVL( orgcode, 4 );
于 2012-05-20T13:06:27.627 に答える