使用减号时SQL中缺少右括号
我收到了下面代码的“缺少右括号”错误消息;我不明白为什么使用减号时SQL中缺少右括号,sql,oracle,Sql,Oracle,我收到了下面代码的“缺少右括号”错误消息;我不明白为什么 select region_name, avg(population) as atlagos_lakossag from world_regions, countries where world_regions.region_id = countries.region_id group by region_name minus select region_name, min(lol) as atlagos_lakossag from
select region_name, avg(population) as atlagos_lakossag
from world_regions, countries
where world_regions.region_id = countries.region_id group by region_name
minus
select region_name, min(lol) as atlagos_lakossag
from
(select region_name, avg(population) as lol from countries, world_regions
where world_regions.region_id = countries.region_id group by region_name);
你没有选择任何东西。。。i、 e.SELECT语句没有上层。写入
选择*from()
。您可以删除一些封装当前SELECT语句的附加括号。另外,显式连接已经存在了几十年。它可以提前停止很多错误,值得使用……我现在尝试了,我也遇到了同样的错误。好吧,你在负号底部的外部选择中也缺少了一个按区域分组的名称,而你在顶部的顺序是多余的。你并没有给这里的每个人很多工作机会。。。你想干什么?目的是什么?你有什么样的数据吗?确切的错误消息是什么?看起来你试图得到每个地区的所有平均人口,除了最低的人口。例如,如果是这样的话,窗口函数可能会更好,当然也会更短。我有两个表world\u region(region\u id,region\u name)和countries(coutry\u id,region\u id,countri\u name,capitol,population,currency\u code),我必须写一个选择,witch列出了地区名称和平均人口,但平均人口最多的地区除外lowest@Ben:使用减号时不需要“上”层(与使用联合时不需要“上”层相同)。但我同意删除不必要的括号是使查询更具可读性的第一步。