我曾经在 oracle 中写过类似的查询,当时它有效。现在我试着把它放在 Derby JDBC 的 prepareStatement 中。
SELECT THREADID,THREADID2,SIMILARITY FROM S WHERE
(THREADID,THREADID2) IN
(
SELECT T1.ID,T2.ID FROM
(
( SELECT T.ID FROM T WHERE T.POSTTYPEID = '1' ORDER BY ANSWERCOUNT DESC FETCH FIRST 200 ROWS ONLY ) AS T1
JOIN
( SELECT T.ID FROM T WHERE T.POSTTYPEID = '1' ORDER BY ANSWERCOUNT DESC FETCH FIRST 200 ROWS ONLY ) AS T2
)
)
原来我得到的错误如下:
java.sql.SQLSyntaxErrorException: 语法错误:在第 1 行第 78 列遇到“,”
我检查了代码,这个错误指向 (THREADID,THREADID2) 部分,是不是 JDBC Derby 不支持这个?