Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Update语句将错误值移动到正确列_Sql_Oracle_Sql Update - Fatal编程技术网

Sql Update语句将错误值移动到正确列

Sql Update语句将错误值移动到正确列,sql,oracle,sql-update,Sql,Oracle,Sql Update,在PL/SQL中,我有一个名为“Gender”的表,它有两列GENDER1和GENDER2 列GENDER1应该只有男性值-M,列GENDER2应该只有女性值-F。 出于什么原因,列GENDER1中有一些F值,列GENDER2中有一些M值 有没有一种方法可以让我在一个Update语句中将值移动到各自正确的列中?我认为这个Update语句满足了您的要求: update gender set gender1 = (case when gender2 = 'M' then 'M' else g

在PL/SQL中,我有一个名为“Gender”的表,它有两列
GENDER1
GENDER2

GENDER1
应该只有男性值-M,列
GENDER2
应该只有女性值-F。
出于什么原因,列
GENDER1
中有一些F值,列
GENDER2
中有一些M值


有没有一种方法可以让我在一个
Update
语句中将值移动到各自正确的列中?

我认为这个Update语句满足了您的要求:

update gender
    set gender1 = (case when gender2 = 'M' then 'M' else gender1 end),
        gender2 = (case when gender1 = 'F' then 'F' else gender2 end)
    where gender1 = 'F' or gender2 = 'M';

但是,我不明白数据结构试图表示什么。

为什么要在两列中存储性别?通过在一次更新中“移动值”,您是否打算更新正确的列,并清除不正确的列值?首先,非常感谢您的及时响应!我在一次采访中被问到这个问题,我告诉他们我会在两份最新声明中这样做。直到后来我才意识到我的失礼