내 쿼리의 결과를 기존 테이블의 열에 추가하려고합니다. 아래의 쿼리는 CAR_PRICE
을 계산하고 값을 표시합니다. 그러나이 값을 car_price 열의 CAR_PAYMENT_TBL
에 추가하려고합니다.쿼리 결과를 사용하여 테이블 업데이트
아래의 create table 명령은 관련 테이블과 테이블 간의 관계를 보여줍니다. CAR_PAYMENT_TBL
의 CAR_PRICE
값을 업데이트 할 수 있습니까?
SELECT C.TICKET_NO,
C.REG_ID,
C.BOOKING_ID,
(R.END_DATE-R.START_DATE) AS DAYS_STAYED,
(R.END_DATE-R.START_DATE)*5 AS CAR_PRICE
FROM CAR_TBL C
LEFT JOIN
ROOM_TBL R
ON C.BOOKING_ID = R.BOOKING_ID;
테이블 스키마 :
CREATE TABLE CAR_PAYMENT_TBL
(
TICKET_NO INT NOT NULL PRIMARY KEY,
CAR_PRICE NUMERIC(5,2)
);
CREATE TABLE CAR_TBL
(
REG_ID VARCHAR2(7) NOT NULL PRIMARY KEY,
TICKET_NO INT NOT NULL references CAR_PAYMENT_TBL(TICKET_NO),
BOOKING_ID INT NOT NULL references BOOKING_TBL(BOOKING_ID)
);
CREATE TABLE ROOM_TBL
(
STAY_NO INT NOT NULL PRIMARY KEY,
ROOM_NO VARCHAR2(4) NOT NULL references ROOM_DETAILS_TBL(ROOM_NO),
START_DATE DATE NOT NULL,
END_DATE DATE NOT NULL,
BOOKING_ID INT NOT NULL references BOOKING_TBL(BOOKING_ID)
);
사용을 고려하시기 바랍니다 다음
CAR_PAYMENT_TBL
의 특정 레코드를 업데이트 할 경우의 값을 기준으로CAR_PAYMENT_TBL
의 모든 레코드를 업데이트하려면 join을 사용하여 업데이트를 작성하십시오 (이 하위 쿼리는 하나의 행만 반환해야합니다. & ticket_no를 사용하고 있기 때문에 괜찮을 것입니다). 다음으로,'SET CAR_PRICE = (SELECT [your previous statement]);을 써야합니다. – Najzeroroom_tbl과 car_payment_tbl은 어떻게 관련이 있습니까? –
일부 조인이 누락되었습니다 ... – haki