列の値を計算し、この値をテーブルに更新するクエリを作成します。この列はCAR_PRICE
. 現時点では、作成したクエリはすべての値を更新しますが、この列のすべての値は同じになります。ただし、私の目的は、特定の行ごとに値を計算することです。
UPDATE CAR_PAYMENT_TBL
SET CAR_PRICE =
(SELECT
(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
WHERE C.TICKET_NO = '&TICKET_NO');
このクエリを修正して値を計算し、のCAR_PRICE
各行ごとに異なる値を更新する方法はありCAR_PAYMENT_TBL
ますか?
表:
CREATE TABLE CAR_PAYMENT_TBL
(
TICKET_NO INT NOT NULL PRIMARY KEY,
CAR_PRICE NUMERIC(5,2)
);
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)
);
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)
);