Derby选择子查询不起作用

时间:2014-07-28 16:54:14

标签: sql database select subquery derby

Derby是否允许您选择其他查询的返回关系?

例如,此查询可以正常工作:

SELECT * 
FROM users, stats 
WHERE users.uid = stats.uid;

但此查询返回错误:

SELECT username, hits 
FROM (
  SELECT * 
  FROM users, stats 
  WHERE users.uid = stats.uid
);

错误如下:

Error: Syntax error: Encountered "<EOF>" at line 1, column 83.
SQLState:  42X01
ErrorCode: 30000

我已经习惯了Oracle,这种方法很好。

上面的查询只是一个例子,我知道我可以选择用户名,最初点击而不需要嵌套查询。

1 个答案:

答案 0 :(得分:6)

如上面的xQbert所述,Derby要求您在内联查询中对表进行别名。

问题的解决方案是:

SELECT username, hits 
FROM (
  SELECT * 
  FROM users, stats 
  WHERE users.uid = stats.uid
) AS tmp;

感谢xQbert的帮助