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