2013-04-04 236 views
-2

我很困惑從我的表中選擇汽車可用性,因爲我想列出給定分支中的所有可用車輛 我已經寫了這個查詢,但我的大腦堅持繼續!SQL選擇記錄

SELECT MODEL, MAKE, START_DATE, TERMINATION_DATE 

FROM VEHICLE_TYPE, VEHICLE, HIRE_AGREEMENT 

WHERE VEHICLE_TYPE.VEHICLE_TYPE_ NUN = VEHICLE. VEHICLE_TYPE_NO 

AND VEHICLE.VEHICLE_REG_NUM = HIRE_AGREEMENT.VEHICLE_REG_NO 
AND ; 

我相信從start_date和termination_date我可以得到汽車的可用性,但如何?

+1

請添加表格結構,示例數據和預期輸出。並且[SQLFiddle示例](http://sqlfiddle.com)也不會受到影響。 – 2013-04-04 23:00:49

+0

你是什麼意思「在給定的分支」?你準確的標準是什麼? – 2013-04-04 23:00:51

+1

歡迎來到論壇。請閱讀思考如何提問的鏈接 - http://stackoverflow.com/questions/how-to-ask。請顯示您的所有表格模式。什麼是「分支」,這與您的查詢有什麼關係? – OldProgrammer 2013-04-04 23:02:38

回答

0

首先,你應該做的,而不是加入舊的學校的東西。根據你提供的信息,這樣的事情是我能建議的最好的。

SELECT Vehicle.Model, Vehicle.Make, Hire_Agreement.Start_Date, 
    Hire_Agreement.termination_date FROM Vehicle 
    NATURAL INNER JOIN Hire_Agreement 
    WHERE 
    Hire_agreement.terminationDate >= Date() AND Hire_agreement.start_date <= Date(); 

這是我所能做的,考慮到你沒有給我們你的模式或SQL風格。

+0

感謝蘇格蘭威士忌,你的方法是輝煌的,它的工作完美,但我已經刪除了start_date,而是使用Date()我用SYSDATE替換它... – chris 2013-04-05 20:35:58

0

如果我理解正確的話,這樣的事情應該工作:

SELECT MODEL, MAKE, START_DATE, TERMINATION_DATE 
FROM VEHICLE_TYPE, VEHICLE, HIRE_AGREEMENT 
WHERE VEHICLE_TYPE.VEHICLE_TYPE_ NUN = VEHICLE. VEHICLE_TYPE_NO 
AND VEHICLE.VEHICLE_REG_NUM = HIRE_AGREEMENT.VEHICLE_REG_NO 
AND GETDATE() BETWEEN VEHICLE.START_DATE AND VEHICLE.TERMINATION_DATE 

應該返回可作爲當前日期的所有車輛