I have a table in our Oracle DW with the following columns:

```
Turnover_In
Turnover_Out
Revenue_In
Revenue_Out

```

For both `Turnover_In` and `Turnover_Out`, I need to check to see if the value for either `Turnover_In` or `Turnover_Out` on that row is null or 0, and if that's the case, I need to output the value from `Revenue_In` or `Revenue_Out` into the corresponding column (`Turnover_In` and `Turnover_Out`).

Example of how source data looks:

```
Revenue In      Revenue out     Turnover in     Turnover out
                0               1000            1500

```

It should turn into the following:

```
Revenue In      Revenue out     Turnover in     Turnover out
1000            1500            1000            1500

```

I've tried the following now:

```
case
    when rev.revenue_in in (null,'0')
    or rev.revenue_out in (null,'0')
    then tur.turnover_in
end "Revenue in",
case
    when rev.revenue_in in (null,'0')
    or rev.revenue_out in (null,'0')
    then tur.turnover_out
end "Revenue out"

```

and

```
case
    when nvl(rev.revenue_in, '0') = '0'
    or nvl(rev.revenue_out, '0') = '0'
    then tur.turnover_in
end "Revenue in",
case
    when nvl(rev.revenue_in, '0') = '0'
    or nvl(rev.revenue_out, '0') = '0'
    then tur.turnover_out
end "Revenue out"

```

...But nothing seems to work. Any ideas?