我有一个查询,当我在 SQL Developer 中运行它时工作正常,但当作为准备好的语句运行时返回一个空结果集。我不确定我的查询格式是否不正确,或者是否是其他内容(我将完全留给另一个问题)。
这是我的查询。我已经剥离了一些内容,以便捕获它的格式,而不是业务逻辑。该表包含三列:类型、键和值。
SELECT a.key id, a.value name
FROM
(SELECT * FROM sometable WHERE type='A') a,
(SELECT * FROM sometable WHERE type='B') b,
(SELECT * FROM sometable WHERE type='C') c,
(SELECT * FROM sometable WHERE type='D') d
WHERE a.value = b.key
AND a.value = c.key
AND a.value = d.key
本质上,应该在准备好的语句中正确执行吗?
最佳答案
您发现任何错误吗?
查询可以作为 Statement 运行因为它是静态 SQL。
关于java - 子查询返回空结果集的PreparedStatement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4218464/