假设我有以下表格:电影,主键 movie_id 是从1开始的连续序列号。
movie_id | title | year | rating
1 movie1 1988 9
2 movie2 1970 8
3 moive3 2004 5
4 moive4 1999 7
5 moive5 2015 6
我的目标是制作1990年之前在2020年发行的电影续集,更新的表格看起来像是:
movie_id | title | year | rating
1 movie1 1988 9
2 movie2 1970 8
3 moive3 2004 5
4 moive4 1999 7
5 moive5 2015 6
6 moive1: the sequel 2020 9
7 movie2: the sequel 2020 8
我知道如何获得子查询:1990年之前发布的电影:
SELECT *
FROM movies
WHERE year < 1990;
但不要继续这样做。
这是我的表架构:
CREATE TABLE movies (
movie_id INTEGER PRIMARY KEY,
title VARCHAR NOT NULL,
year INTEGER NOT NULL,
rating FLOAT NOT NULL,
UNIQUE (title,year)) ;
答案 0 :(得分:1)
使用INSERT...SELECT
方法。然后在":the sequel"
中连接字符串title
,最后,在'2020'
中添加year
字符串。见下文:
INSERT INTO movies
SELECT
title || ': the sequel' AS title,
'2020' AS year,
rating
FROM movies
WHERE year<1990