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,这种方法很好用.
上面的查询只是一个例子,我知道我可以选择用户名,最初点击而不需要嵌套查询.
如上面的xQbert所述,Derby要求您在内联查询中对别名进行别名.
问题的解决方案是这样做:
SELECT username, hits
FROM (
SELECT *
FROM users, stats
WHERE users.uid = stats.uid
) AS tmp;
Run Code Online (Sandbox Code Playgroud)
感谢xQbert的帮助