所以我有一个如下查询,我试图使用OpenJPA在DB2上运行:
@NamedQuery(name="getStuff",
query = "SELECT mtl.final, mtl.entity " +
"FROM MCT mct, MTL mtl " +
"WHERE ~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " +
"AND mct.cTotPK.Label IN ( SELECT mccp.cCPPK.cPLC " +
"FROM MCCP mccp WHERE mccp.cCPPK.cLC = '#My String#')")
我可以摆脱WHERE IN SELECT语句(底部两行)并且它将运行。所以我无法弄清楚底线两行有什么问题。
每当我运行它时,我会收到DB2错误:
DB2 SQL错误:SQLCODE = -199,SQLSTATE = 42601,SQLERRMC = FOR;或者具有组间交叉顺序)除了MINUS UNION之外,驱动程序= 3.61.75
当我看到这个错误时,我发现它是“非法使用关键字”但我真的不知道我还能做什么。我可以尝试一下WHERE IN SELECT的替代方案吗?谢谢你的帮助。