私たちのソフトウェアでは、JDBC3ドライバータイプのデータベースとしてPostgresqlを使用しています。JDBCステートメントは、「Caseステートメント」を含むSQLを使用します。
別のドライバーまたはデータベースに切り替えた場合、このコードは機能しますか?
例:
SELECT r.routineid,
r.routinetypeid,
CASE WHEN (pc.version=20 and pc.parentid>0)
THEN CASE WHEN (r.processed='t')
THEN pc.processed ELSE r.processed
END
ELSE r.processed
END AS processed,
CASE WHEN (r.version=2 and r.parentid>0)
THEN (SELECT m_req
FROM routine
WHERE routineid=r.parentid
)
ELSE r.m_req
END AS m_req,
r.version
FROM (SELECT *
FROM routine
WHERE routinetypeid in (11,12)
AND (fbroutineid='130' OR fbroutineid='806')
) AS r
LEFT JOIN
routine pc
ON r.routineid=pc.parentid
ORDER BY r.routinetypeid;