2014-04-21 13 views
0

如何使用NVL在此代碼的輸出中用零替換空值?我需要的零對這兩列,所以我可以執行除了Oracle:如何將NVL合併到此完整加入?

horse_wins + jockey_wins 

目前,他們總是合計爲空,如果僅僅是一個值是零。我已經讀過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); 

回答

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子句中使用它。