Derby选择子查询不起作用

c_b*_*eez 3 sql database select derby subquery

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

例如,此查询工作正常:

SELECT * 
FROM users, stats 
WHERE users.uid = stats.uid;
Run Code Online (Sandbox Code Playgroud)

但是此查询返回错误:

SELECT username, hits 
FROM (
  SELECT * 
  FROM users, stats 
  WHERE users.uid = stats.uid
);
Run Code Online (Sandbox Code Playgroud)

错误如下:

Error: Syntax error: Encountered "<EOF>" at line 1, column 83.
SQLState:  42X01
ErrorCode: 30000
Run Code Online (Sandbox Code Playgroud)

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

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

c_b*_*eez 6

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

问题的解决方案是这样做:

SELECT username, hits 
FROM (
  SELECT * 
  FROM users, stats 
  WHERE users.uid = stats.uid
) AS tmp;
Run Code Online (Sandbox Code Playgroud)

感谢xQbert的帮助