此查询返回缺少的右括号,尽管当我运行内部查询时它运行良好。
select t.id
from
(select
v.id,
max(c.image_type_id),
max(vp.x),
max(vp.y),
max(vp.z)
FROM
v,
vp,
c,
WHERE v.id = vp.id
AND v.id = c.id
group by v.id;) t
此查询返回缺少的右括号,尽管当我运行内部查询时它运行良好。
select t.id
from
(select
v.id,
max(c.image_type_id),
max(vp.x),
max(vp.y),
max(vp.z)
FROM
v,
vp,
c,
WHERE v.id = vp.id
AND v.id = c.id
group by v.id;) t
Remove semicolon ;
and ,
SELECT t.id
FROM
(SELECT
v.id,
max(c.image_type_id),
max(vp.x),
max(vp.y),
max(vp.z)
FROM
v,
vp,
c // HERE the comma
WHERE v.id = vp.id
AND v.id = c.id
GROUP BY v.id) t // HERE the semicolon
只需删除分号和最后一个逗号。尝试运行以下代码。
select t.id
from
(select
v.id,
max(c.image_type_id),
max(vp.x),
max(vp.y),
max(vp.z)
FROM
v,
vp,
c
WHERE v.id = vp.id
AND v.id = c.id
group by v.id) t
去掉那个分号。
分号基本上是对解释器说“这是一条 sql 语句的结尾”。如果您的 sql 中间有一个分号,它将把之前的所有内容和之后的所有内容都视为单独的语句。
最后的分号是罪魁祸首。
select t.id
from
(select
v.id,
max(c.image_type_id),
max(vp.x),
max(vp.y),
max(vp.z)
FROM
v,
vp,
c,
WHERE v.id = vp.id
AND v.id = c.id
group by v.id)t