我正在尝试使用movie_info表中的 info_type_id和movie_info列更新 movieDataset 表中的预算列。以下是查询:
UPDATE movieDataset
SET budget=REPLACE(movie_info.info,',','')
WHERE movieDataset.movie_id IN (
SELECT movie_info.movie_id
FROM movie_info
WHERE movie_info.info_type_id=105
)
数据: info_type_id 105的相应信息是$ 40,000 / $ 17,000等。
期望的输出:
预算栏应该有,$ 40000 / $ 17000等
我正在使用sqlite3和DB Browser来执行查询
错误讯息:
没有这样的专栏:movie_info.info
表关系:
他们有相同的movie.id
表格定义:
movieDataset(movie.id,预算)
movie_info(movie.id,info,movie_info_id)
谢谢
答案 0 :(得分:0)
在外部查询中,movie_info
表不可见。要从该表中获取值,您必须使用correlated subquery:
UPDATE movieDataset
SET budget = replace((SELECT info
FROM movie_info
WHERE movie_id = movieDataset.movie_id
AND info_type_id = 105
), ',', '')
WHERE movie_id IN (
SELECT movie_id
FROM movie_info
WHERE info_type_id = 105
);