0
我將創建一個查詢來計算列的值並將此值更新到表中。本專欄是。 目前,我創建的查詢更新了所有值,但此列中的所有值都變爲相同。但是,我的目標是計算每個特定行的值。更新查詢以更改特定行的值
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_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)
);
,請問您對錶和數據的樣子。我猜測'CAR_PAYMENT'和'CAR_TBL'中有一個'CAR_ID',它可以讓你決定使用哪一行'CAR_TBL'。如果您發佈的查詢有效,但這意味着子查詢返回恰好爲1行。您的意圖可能是擺脫'c.ticket_no'謂詞,而是根據'CAR_PAYMENT'中的'CAR_ID'確定要使用哪輛車?這意味着'CAR_ID'和'TICKET_NO'是'CAR_TBL'中的唯一鍵? – 2013-03-21 20:10:01
@JustinCave我編輯了我的文章並添加了表格模式。考慮到我提供的模式,是否可以提供更多信息? – user1909680 2013-03-21 20:14:35
你保證你的子查詢只返回任何'ticket_no'的1行嗎? – 2013-03-21 20:36:01