2012-11-08 143 views
0

我有一種情況,我想從客戶表中返回空值,並且實質上是從賬單表中選擇不同的賬單代碼。NULL在oracle中有不同的地方

我該怎麼做?

表客戶

 
ID 
Name 
CustNumber 
BILLCODE 

表比爾

 
ID 
BILLCODE 

我試圖做類似

Select Null ID, Null NAME, Null CUSTNUMBER 
from CUSTOMER 
RIGHT JOIN ID, BILLCODE 
on customer.billcode = bill.billcode 

我只希望在表中的每個billcode 1分的紀錄。

+2

你能舉些例子表內容和產生預期的效果?因爲現在真的不清楚(至少對我而言)你想要什麼。 – ruakh

回答

0
with billcodes as (select distinct billcode from bill) 
select b.billcode, c.id, c.name, c.custnumber 
from billcodes b 
left outer join customer c on c.billcode=b.billcode 

或者:

select b.billcode, c.id, c.name, c.custnumber 
from (select distinct billcode from bill) b 
left outer join customer c on c.billcode=b.billcode 
+0

它看起來像OP用Oracle標記了這個問題,但值得注意的是這個語法在MySQL數據庫上不起作用。 – jedwards

0

我猜測的問題是:我怎麼才能回報所有客戶從客戶表與他們有各自的法案代碼列表?

如果是的話,你想用group byleft outer join

select b.billcode, c.id, c.name, c.custnumber 
from customer c left outer join 
    bill b 
    on c.billcode = b.billcode 
group by b.billcode, c.id, c.name, c.custnumber 
相關問題