작은 렌터카 웹 사이트 용입니다. - 고객의 차를 임대하고자하는 거슬러 올라가는 From
날짜와 To
날짜 :날짜를 기반으로 한 SQL 중첩 SELECT 문
나는이 개 매개 변수를 취하는 CAR
테이블에있는 모든 차를 위해 검색하는 검색 기능이 있습니다. 또한 고객이 볼 수있는 차량 유형을 지정할 수있는 드롭 다운 상자가 있습니다. 나는 또한 car_id
, customer_id
, to_date
및 from_date
을 보유하고 예약 테이블이
CREATE PROCEDURE SearchForCars(
@Make VARCHAR(50),
@Model VARCHAR(50),
@Age INT,
@Transmission VARCHAR(50),
@Colour VARCHAR(50),
@FuelType VARCHAR(50)
AS
BEGIN
SELECT
Make, Model, Registration, Age, Transmission, Body_Type, Colour,
Estimated_Value, Mileage, Fuel_Type, Rental_Price_Per_Day
FROM
HAS_Car
WHERE
Make LIKE '%' + @Make + '%'
AND Model LIKE '%' + @Model + '%'
AND Age = Age
AND Transmission LIKE '%' + @Transmission + '%'
AND Colour LIKE '%' + @Colour + '%'
AND Fuel_Type LIKE '%' + @FuelType + '%'
END;
: 자동차를 반환
내 현재의 방법은 저장 프로 시저입니다.
주된 검색에서 고객이 지정한 날짜에 따라 예약되지 않은 자동차 만 반환하고 싶습니다.
이것은 자동차 테이블을 예약 테이블에 연결하는 것을 포함하지만 어떻게해야할지 모르겠다.
+--------+----------+-------+---------+---+-----------+-----------+-----------+-------+-------+--------+----+
| 8 | Vauxhall | Corsa | LO10RTY | 4 | Manual | Hatchback | White | 7000 | 48000 | Diesel | 20 |
| 9 | Audi | TT | KN13DOP | 1 | Manual | Coupe | White | 35000 | 10000 | Petrol | 55 |
| 10 | Toyota | Yaris | AS12UWS | 1 | Automatic | Hatchback | Navy Blue | 11000 | 5000 | Petrol | 25 |
+--------+----------+-------+---------+---+-----------+-----------+-----------+-------+-------+--------+----+
이것은 예약 테이블은 다음과 같습니다 :
는 예를 들어,이 차 테이블의 일부입니다
Booking_ID Customer_ID Car_ID From_Date To_Date
1 8 9 01/01/2015 03/01/2015
지금 02에서 임대 차량 번호 9를 검색 할 경우/01/2015에서 2013 년 1 월 13 일까지 자동차 번호 9 (audi tt)가 이미 중복 예약을 했으므로 기본 검색에 나타나서는 안됩니다.
편집 질문과 쇼 샘플 두 테이블의 데이터뿐만 아니라 원하는 결과. –
팁 : [Bobby Tables] (http://bobby-tables.com/)에서 방문하지 않으려면 쿼리에서 매개 변수를 사용하는 방법에 대해 알아야합니다. – HABO
@ GordonLinoff done, 죄송합니다. sql 결과의 형식을 올바르게 지정하는 방법을 모르겠습니다. – jeffry