insert into airports(country_id)
select country_id
from countries
where countries.country_name = flight_all.dep_country
这个简单的代码无法编译,因为sql没有看到flight_all表。如何让它可见(没有任何额外的'来自'关键字)?
答案 0 :(得分:3)
你应该谷歌SQL JOIN
您可能希望DISTINCT
避免插入重复的
insert into airports(country_id)
select distinct country_id
from countries
join flight_all
ON countries.country_name = flight_all.dep_country
答案 1 :(得分:0)
因为您的查询中未定义flight_all
。您需要在FROM
子句中标识您的表。使用您当前的方法,它看起来像这样:
select country_id
from countries, flight_all
where countries.country_name = flight_all.dep_country
但是,请注意,此语法被认为相当草率(甚至可能已弃用,具体取决于RDBMS)。相反,请使用JOIN
而不是WHERE
子句来执行JOIN
逻辑。像这样:
select country_id
from countries
inner join flight_all
on countries.country_name = flight_all.dep_country