带有子查询的PreparedStatement返回空结果集

时间:2010-11-18 18:58:51

标签: java sql prepared-statement

我在SQL Developer中运行时查询运行正常,但在作为预处理语句运行时返回空结果集。我不确定我的查询是否格式不正确,或者是否是其他内容(我将完全留下另一个问题)。

所以这是我的查询。我已经剥离了东西以捕获它的格式,而不是业务逻辑。该表有三列:type,key和value。

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

基本上, 应该在准备好的语句中正确执行吗?

1 个答案:

答案 0 :(得分:1)

您是否看到任何错误?

查询原样可以作为Statement运行,因为它是一个静态SQL。