2015-07-10 68 views
0

我有一個像如何抑制空單排

Name Sal Bonus 
ABC 400 null 
ABC null 5 

如何使它單列並取出空數據

Name Sal Bonus 
ABC 400 5 

請提出一個Oracle表。使用oracle sql。

+0

如果有另一個ABC一行,薩爾= 250? – jarlh

回答

0

如果您只有兩行,則可以使用group by子句。並在選擇語句內求和值。

SELECT T.NAME,SUM(NVL(T.SAL,0))AS Sal,SUM(NVL(T.SAL,0)) AS Bonus 
FROM TABLE t 
GROUP BY T.NAME 

下面的結果:

Name Sal Bonus 
ABC 400 5 
+0

你真的需要這些NVL嗎? – jarlh

+0

事實上,在這種情況下,您可以在不使用nvl()函數的情況下執行此操作。我不確定group by子句是否忽略空值。這就是爲什麼我以這種方式回答。我試過沒有NVL()函數,我看到空值被忽略。 –

0

選擇名稱,MAX(SAL),MAX(獎金) 從表 組的名字