Sql 为什么这个选择不起作用
我试图学习sql,但我发现了这个错误-这是什么意思 我想问的是:那些GDP超过欧洲任何国家的国家 错误: [Microsoft][ODBC SQL Server驱动程序][SQL Server]子查询返回了更多信息 大于1的值。当子查询后跟=、!=、时,不允许这样做, =或当子查询用作表达式时。 (SQL-21000)Sql 为什么这个选择不起作用,sql,sql-server,Sql,Sql Server,我试图学习sql,但我发现了这个错误-这是什么意思 我想问的是:那些GDP超过欧洲任何国家的国家 错误: [Microsoft][ODBC SQL Server驱动程序][SQL Server]子查询返回了更多信息 大于1的值。当子查询后跟=、!=、时,不允许这样做, =或当子查询用作表达式时。 (SQL-21000) 错误的原因是子查询返回多个值 根据您的要求,若您需要gdp大于欧洲gdp的,则应使用以下任一查询: SELECT name, gdp FROM bbc WHERE
错误的原因是子查询返回多个值 根据您的要求,若您需要
gdp
大于欧洲gdp的,则应使用以下任一查询:
SELECT
name,
gdp
FROM
bbc
WHERE gdp >
(
SELECT
MAX(gdp)
FROM
bbc
WHERE
region = 'Europe'
)
或者,如果您需要gdp
大于欧洲gdp的至少一个(差别只是MIN
与MAX
):
错误的原因是子查询返回多个值 根据您的要求,若您需要
gdp
大于欧洲gdp的,则应使用以下任一查询:
SELECT
name,
gdp
FROM
bbc
WHERE gdp >
(
SELECT
MAX(gdp)
FROM
bbc
WHERE
region = 'Europe'
)
或者,如果您需要gdp
大于欧洲gdp的至少一个(差别只是MIN
与MAX
):
当内部查询返回超过1个值时发生。尝试:
select name, gdp from bbc where gdp > (select TOP 1 gdp from bbc where region = 'Europe')
当内部查询返回超过1个值时发生。尝试:
select name, gdp from bbc where gdp > (select TOP 1 gdp from bbc where region = 'Europe')
这意味着查询
selectgdp from bbc where region='Europe'
返回超过1行,并且where gpd>
条件不能与多个值进行比较。您需要更新查询以仅返回1行。这意味着查询从bbc选择gdp,其中region='Europe'
返回超过1行,并且其中gpd>
条件不能与多个值进行比较。您需要更新查询以仅返回1行。运行查询的这一部分
从bbc中选择gdp,其中地区=‘欧洲’
如果返回的行数超过1行,则将失败。您需要在where子句中更具选择性。运行查询的这一部分 从bbc中选择gdp,其中地区=‘欧洲’
如果返回的行数超过1行,则将失败。您需要在where子句中更具选择性。您可以尝试使用一个值-基于
Min、Max或TOP 1
注:不能将一个值与集合进行比较
select name, gdp from bbc
where gdp >
(select TTOP(1) gdp from bbc where region = 'Europe')
或
您可以尝试使用一个值-基于
Min、Max或TOP 1
注:不能将一个值与集合进行比较
select name, gdp from bbc
where gdp >
(select TTOP(1) gdp from bbc where region = 'Europe')
或
该消息充分描述了错误:您的表在欧洲有许多国家,因此如果子查询中没有一些聚合或更多约束,则无法应用
运算符:
select name, gdp from bbc
where gdp >
(
select max(gdp) from bbc
where region = 'Europe'
)
添加max
可确保精确选择一个数字,该数字是所有欧洲国家中GDP最高的1。
1您最好立即选择德国的GDP:)消息充分描述了错误:您的表中有许多欧洲国家,因此如果子查询中没有一些聚合或更多约束,则无法应用
运算符:
select name, gdp from bbc
where gdp >
(
select max(gdp) from bbc
where region = 'Europe'
)
添加max
可确保精确选择一个数字,该数字是所有欧洲国家中GDP最高的1。
1你最好马上选择德国的GDP:)这是一个很好的去处强>
select name, gdp from bbc
where gdp > ANY
(
select gdp from bbc
where region = 'Europe'
)
“…超过欧洲任何国家…”。就像答案一样。这是一个很好的地方,可以扫除学术上的灰尘强>
select name, gdp from bbc
where gdp > ANY
(
select gdp from bbc
where region = 'Europe'
)
“…超过欧洲任何国家…”。就像答案一样。bbc的
bbc
中有几个欧洲地区。您无法将标量值与列表进行比较。嗯,读取错误消息不是很明显吗?当子查询只返回单个值时,您只能使用带有>运算符的子查询。您可能最好解释一下要获得更好的帮助需要实现什么。bbc中有几个欧洲地区。您无法将标量值与列表进行比较。嗯,读取错误消息不是很明显吗?当子查询只返回单个值时,您只能使用带有>运算符的子查询。您可能最好解释一下要获得更好的帮助需要实现什么。