0
下面的代碼讀取:Mysql的INSER與SELECT和WITH INNER JOIN CASE
--Code Created by Michael Berkowski
create table dvd (
dvd_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
INSERT INTO dvd VALUES (1),(2),(3),(4);
CREATE TABLE dvd_price (
dvd_price_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
dvd_id INT NOT NULL,
rental_amount INT,
time_rented_for VARCHAR(10)
);
INSERT INTO dvd_price (dvd_id, rental_amount, time_rented_for)
SELECT
dvd_id,
2 AS rental_amount,
rental_period
FROM
dvd
CROSS JOIN (
-- This is where I'm having issues
SELECT (CASE dvd.dvd_id
WHEN dvd.dvd_id = 1
THEN '1-Day'
ELSE '3-Day'
END) AS rental_period
) rental_periods
爲什麼我不能做一個CASE語句CROSS JOIN後,我將如何解決這一問題? 我得到錯誤,「字段列表中的」未知表'dvd':「,寫這個的最好方法是什麼?
'dvd'表是在此子查詢未知。請解釋你想做什麼,爲什麼交叉加入? – krokodilko
基本上我試圖做一些數據製作,在這種情況下,我試圖插入數據時,dvd_id = 1,然後插入rental_period'1天',否則所有其他dvd_id插入'3天',如果這是有道理的。 –