2017-03-31 37 views
0

我有两个表,表中A和B,和我指望从表一的数据类型出现次数的数量,如何在数据不表存在不返回一个0值,SQLPLUS

ENAME  SALES 
    ---------- ---------- 
    Wilson   0 
    Fox    1 
    Wang   2 
    Green   1 
    Fox    0 
    Phillips  2 
    Loftus   0 
    Smith   2 
    Smith   3 
    Wolf   2 
    Jones   1 
    Liu    0 

当销售计数为0时,根本不存在于表B中。

我将如何去除0计数?我试图让回到这个样子:

ENAME  SALES 
    ---------- ---------- 
    Wilson   
    Fox    1 
    Wang   2 
    Green   1 
    Fox    
    Phillips  2 
    Loftus   
    Smith   2 
    Smith   3 
    Wolf   2 
    Jones   1 
    Liu    

回答

3

一种方法是使用case,另一nullif()

select ename, nullif(sales, 0) as sales 
from t; 

如果这是一个聚集查询:

select ename, nullif(count(*), 0) as sales 
from t 
group by ename; 
相关问题