2012-04-21 36 views
1

我有四個表SQL查詢來展示最流行的記錄

  1. 汽車car_ registration_no, class, type_code
  2. Rental_historyrent_date, car_registration_no, rent_location_code, return_location_code
  3. 類型type_code, make, model
  4. 位置location_code, branch_name

我需要一個查詢來顯示按位置租用的最受歡迎的汽車。 我需要一個查詢來顯示上個月每個地點的總租金?

到目前爲止我的代碼如下所示,但我無法完成它:

SELECT car.class, car.type_code , type.make, type.model 
    FROM car , type, rental_history 
where rental_history.car_registration_no = car.car_registration_no 
    and car.type_code = type.type_code 
+1

您是否嘗試過任何操作?這兩種類型的查詢都會被基本的Sql教程覆蓋。計算總和,分組並加入。 – 2012-04-21 10:45:17

+0

我嘗試了這些到現在爲止,我無法完成它 SELECT car.class,car.type_code,type.make,type.model 從汽車,類型,rental_history 其中rental_history.car_registration_no = car.car_registration_no 和car.type_code = type.type_code – user1348163 2012-04-21 10:56:22

+1

對我來說就像* 4 *表 – Bohemian 2012-04-21 10:59:52

回答

0

加入所有的表和利用計..!

+0

我是這個人的新。我不知道如何加入他們,並做到這一點。你可以幫助更多 – user1348163 2012-04-21 10:46:45

+0

我試過這些。而無法完成它 SELECT car.class,car.type_code,type.make,type.model 從汽車,類型,rental_history 其中rental_history.car_registration_no = car.car_registration_no 和car.type_code = type.type_code – user1348163 2012-04-21 10:55:29

4

您將需要加入表格並計算數字。讓我們從更簡單的查詢開始,讓您指向正確的方向。

這會告訴你多少次了「類型代碼」車已經每個地點租用(未經測試,可能含有錯誤)

SELECT 
    count(car.car_registration_no) as rental_num, 
    car.type_code, 
    rental_history.rent_location_code 
FROM car 
LEFT JOIN rental_history ON (rental_history.car_registration_no = car.car_registration_no) 
GROUP BY car.type_code, rental_history.rent_location_code; 

我使用的是左這裏加入,因爲有可能是車有沒有出租過,也沒有任何歷史記錄。而不是沒有出現,你將有一個「0」的租金數量。

編輯:

對於它實際上是非常簡單的第二個查詢。您需要按位置分組,按日期過濾並使用COUNT(再次未經測試):

SELECT 
    count(rental_history.car_registration_no) as rental_num, 
    rental_history.rent_location_code 
FROM rental_history 
WHERE rent_date >= '2012-03-01' AND rent_date < '2012-04-01' 
GROUP BY rental_history.rent_location_code; 
+0

第二個查詢呢?你有什麼建議嗎 ? – user1348163 2012-04-21 13:00:46

+0

非常感謝您的先生。這非常有幫助 – user1348163 2012-04-26 14:19:33

+0

@ user1348163如果我的答案回答了您的問題,請標記爲已解決 – ilanco 2012-04-26 19:26:47