1

此查询返回缺少的右括号,尽管当我运行内部查询时它运行良好。

 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
4

4 回答 4

5

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
于 2013-09-13T17:15:35.253 回答
2

只需删除分号和最后一个逗号。尝试运行以下代码。

 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
于 2013-09-13T17:13:05.173 回答
0

去掉那个分号。

分号基本上是对解释器说“这是一条 sql 语句的结尾”。如果您的 sql 中间有一个分号,它将把之前的所有内容和之后的所有内容都视为单独的语句。

于 2013-09-13T17:13:14.103 回答
0

最后的分号是罪魁祸首。

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
于 2013-09-13T17:13:43.520 回答