2014-09-28 57 views
0

我有2個以下的表格。在Oracle中查詢客戶和calldetails表的數據庫

  1. customer - 有姓名,地址和telphoneNumber列。
  2. CallDetails - 具有telphoneNumber,callDate,callDuration列。

我想知道在某些開始日期和結束日期之間獲得最高呼叫的客戶姓名和地址。

謝謝

+0

這是什麼意思:「是最高的電話」? (是最大呼叫數量嗎?) – 2014-09-28 07:29:43

+0

獲得最高呼叫意味着呼叫數量最高。 – student 2014-09-28 09:06:25

回答

0

請嘗試以下查詢。它爲我工作。

select CustomerName,Address from Customer 
where PhoneNumber IN 
    (SELECT PHONENUMBER FROM CallDetails 
    WHERE CallStartTime BETWEEN 'FromDateTime' AND 'ToDateTime' 
    GROUP BY PhoneNumber 
    having count(1)=(select TOP 1 count(1) from CallDetails 
       WHERE CallStartTime BETWEEN 'FromDateTime' AND 'ToDateTime' 
       group by PhoneNumber ORDER BY COUNT(1) DESC 
       ) 
    ) 
ORDER BY CustomerName