java - 子查询返回空结果集的PreparedStatement

标签 java sql prepared-statement

我有一个查询,当我在 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/

相关文章:

sql - 基本SQL语句,从人员表中选择人员姓名

java - Astyanax 不遵守配置的套接字超时

java - 如何使用 XSSF 检查 Excel 单元格的类型

java - 在java中生成表

sql - 索引查找外键不存在的记录

php - 我正在尝试将一个准备好的语句包含在另一个准备好的语句中

java - 如何使用 Hibernate 将 `null` 值插入数据库?

mysql - 使用 CASE 或其他替代方案 (MySQL) 加入

java - 如何使用prepareStatement更新数据,字段和值都需要设置

java - 在PreparedStatement中使用 "DEFAULT"值