如何使用NVL在此代码的输出中用零替换空值?我需要零,所以我可以在这两列上添加
horse_wins + jockey_wins
如果只有一个值为null,它们总是总和为null。我已经读过NVL可以在这种情况下提供帮助,但实施起来很困难。
select
race_id,
horse_id,
horse_wins,
jockey_id,
jockey_wins,
horse_wins + jockey_wins
from
proj_entry a
FULL JOIN
tot_h_wins b
ON
a.horse_id = b.horse
FULL JOIN
tot_j_wins c
ON
a.jockey_id = c.jockey
where
race_id = 1
and
where
nvl(jockey_wins, 0);
答案 0 :(得分:3)
select
race_id,
horse_id,
horse_wins,
jockey_id,
jockey_wins,
NVL(horse_wins, 0) + NVL(jockey_wins, 0) wins
from
proj_entry a
FULL JOIN
tot_h_wins b
ON
a.horse_id = b.horse
FULL JOIN
tot_j_wins c
ON
a.jockey_id = c.jockey
where
race_id = 1
如果要更改值的显示方式,则不要在where
子句中使用NVL。 Where
用于过滤返回的行。如果要更改其显示方式,请在select
子句中使用它。