2014-03-30 56 views
0

我有兩個表 table1中包含客戶及其信息的列表,並有一個客戶ID爲每一個 表2中包含的所有請求,與和客戶ID列表,每個請求爲外鍵檢查兩個表中的值?

和我想檢查誰有請求,誰不是誰

PLZ這應該怎麼做邏輯是有可能eqaul兩個查詢之間?

感謝

回答

1

你有兩個表,第一個與每個客戶一行,其他與零到每個客戶的多行。因此,您需要兩種技術:一種將每個客戶的第二個表減少爲一行,另一個將結果集加入第一個表。這些技術分別是一個聚合子查詢和一個外部連接。

select c.customer_id 
     , nvl(r.req_count, 0) as no_of_reqs 
from customer c 
     left outer join (select customer_id 
           , count(*) as req_count 
         from customer_req 
         group by customer_id) r 
     on c.customer_id = r.customer_id