2009-11-29 159 views
1

我目前有兩個表: 1.汽車(plate_number,品牌,CID) 2.借(開始日期,結束日期,品牌,ID)需要一個SQL查詢

我想編寫一個查詢來獲取所有可用品牌和每個品牌的可用汽車數量

+4

聽起來去吧作業問題。你的導師是否知道你在作弊? – 2009-11-29 05:22:51

+0

指定「可用」:對於給定日期? – mjv 2009-11-29 05:24:34

+1

你可能想要考慮用名詞比如「loan」而不是動詞「borrow」來命名你的表。表格通常代表實體(事物)。 – 2009-11-29 06:08:10

回答

0
SELECT c.Brand COUNT(plate_number) FROM car as c LEFT JOIN (borrow as b) on c.cid = b.id WHERE endDate < NOW() GROUP BY c.Brand 

我沒有嘗試它,但它應該工作。

編輯:固定在哪裏。

0

halfpseudo計算行或通過使用SQL計數或組,左也一同適用其中nullvalues

brand from car join borrow on borrow.brand=car.brand where endDate<currentdate 
0

表:

car(plate_number, brand, cid)

borrow(StartDate, endDate, brand, id)

select c.plate_number, b.brand, count(b.brand) as available_number 
from car c, borrow b 
where c.brand=b.brand 
     and end_date>=sysdate 
having count(1)>0 
group by c.plate_number, b.brand