0

NVL を使用して、このコードの出力で null 値をゼロに置き換えるにはどうすればよいですか? これら2つの列で加算を実行できるように、ゼロが必要です

horse_wins + jockey_wins

現時点では、値の 1 つだけが 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);
4

1 に答える 1

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句で使用します。

于 2014-04-21T15:15:31.170 に答える