错误(ORA-00923:在预期位置找不到FROM关键字)

au9on6nz  于 2022-09-18  发布在  Java
关注(0)|答案(5)|浏览(300)
select 
      country_olympic_name, 
      SUM(part_gold) as 'Number of Gold Medals'
    From
      games.country,
      games.participation
   where
      participation.country_isocode = country.country_isocode
   group by
      country_olympic_name;

我一直收到错误ORA-00923:未在预期位置找到关键字,并且不知道原因,请帮助

vwoqyblh

vwoqyblh1#

标识符需要用双引号(")引起来。单引号(')表示字符(不是“名称”)。

因此,您需要使用:

SUM(part_gold) as "Number of Gold Medals"

手册中有更多详细信息:

  • 数据库对象名称和限定符
  • 文本文字
slsn1g29

slsn1g292#

检查保留字。这是我的问题。无论出于什么原因,使用“SIZE”作为列别名都会导致Oracle吐出同样的错误,这让我抓狂了一阵子。

select 1 size, 1 id from dual
iqih9akk

iqih9akk3#

SELECT查询后加逗号

在我的例子中,我有这样的查询

SELECT BANK_NAME
DECODE (SWIFT_CODE, 'BRDEROBU', 'BRD',
                   'NO RESULT') RESULT
FROM BANK_GAR;

如您所见,我在SELECT BANK_NAME行之后没有逗号

正确的查询是:

SELECT BANK_NAME,
DECODE (SWIFT_CODE, 'BRDEROBU', 'BRD',
                   'NO RESULT') RESULT
FROM BANK_GAR;
k10s72fa

k10s72fa4#

你可以试着这样做:

select 
  country_olympic_name, 
  SUM(part_gold) as "Number of Gold Medals"
From
  games.country,
  games.participation
where
  participation.country_isocode = country.country_isocode
group by
  country_olympic_name;
i86rm4rw

i86rm4rw5#

试试这个..。

SELECT
      COUNTRY_OLYMPIC_NAME,
      SUM ( PART_GOLD ) AS NUMBER_OF_GOLD_MEDALS
FROM
      GAMES.COUNTRY,
      GAMES.PARTICIPATION
WHERE
      PARTICIPATION.COUNTRY_ISOCODE = COUNTRY.COUNTRY_ISOCODE
GROUP BY
      COUNTRY_OLYMPIC_NAME;

相关问题