我知道这个问题对大多数人来说都很容易。但是我真的希望这会起作用。 为什么此查询不起作用?
select name, price, select num from ( select 1 as num) as value
from products;
我有这个:
选择时或选择附近出现错误
答案 0 :(得分:1)
您可以使用单个SELECT
语句来完成此操作:
select name, price, 1 as value
from products;
单个外部SELECT
语句应仅包含列/表达式,如果它具有其他SELECT
语句,则应为subquery
形式。
类似的东西:
select t.col1, t.col2 t.col3,
(select t1.col from table t1 where . . . ) as col_name
from table t;
答案 1 :(得分:0)
答案取决于您要确切执行的操作。
请记住fromValue
是正确的sql查询,该查询从表中返回“第一列”
它说明了为什么查询中存在语法错误。 select 1 from table
中缺少from table
所以让我们确认一下你到底想要什么
答案 2 :(得分:0)
为什么会失败?
select name, price, select num from ( select 1 as num) as value
from products;
select
是一个SQL关键字,指示新查询或子查询。与子查询一起使用时,必须在其自己的括号之前。因此,您会收到语法错误。
如果添加括号:
select name, price, (select num from ( select 1 as num)) as value
from products;
由于嵌套子查询缺少表别名,因此会出现不同错误。
最后,您可以将其修复为可能的目标:
选择名称,价格, (从(选择1作为num)x中选择num)作为值 来自产品p;