【发布时间】:2015-09-05 11:17:12
【问题描述】:
我正在尝试使用 HackerRank 挑战自学 SQL,目前我正在尝试选择亚洲所有指定城市的人口总和。
表结构为:
对于City 表:
+-------------+----------+
| Field | Type |
+-------------+----------+
| ID | int(11) |
| Name | char(35) |
| CountryCode | char(3) |
| District | char(20) |
| Population | int(11) |
+-------------+----------+
对于Country 表:
+----------------+-------------+
| Field | Type |
+----------------+-------------+
| Code | char(3) |
| Name | char(52) |
| Continent | char(50) |
| Region | char(26) |
| SurfaceArea | float(10,2) |
| IndepYear | smallint(6) |
| Population | int(11) |
| LifeExpectancy | float(3,1) |
| GNP | float(10,2) |
| GNPOld | float(10,2) |
| LocalName | char(45) |
| GovernmentForm | char(45) |
| HeadOfState | char(60) |
| Capital | int(11) |
| Code2 | char(2) |
+----------------+-------------+
我的查询是:
SELECT
SUM(Population)
FROM
(SELECT
City.Population AS Population,
Country.Continent AS Continent
FROM
City
INNER JOIN
Country ON City.CountryCode = Country.Code)
WHERE
Continent = "Asia";
据我所知,这应该是国家代码与亚洲国家代码相同的所有城市的人口总数。但是,我收到以下错误:
第 1 行出现错误:ORA-00904:“亚洲”:标识符无效
【问题讨论】:
-
使用
'Asia'代替"使用' -
@lad2025 成功了,谢谢;那么在 SQL Server 中双引号
"有什么用呢? -
如果您使用的是 SQL Server - 为什么会收到
ORA-00904错误?? -
@Shaktal 如果您想了解更多关于 SQL Server 的信息,您可以使用Channel 9 提供的视频讲座,它们几乎涵盖了所有主题,请搜索 SQL。
标签: sql sql-server