我试图使用jOOQ动态构建查询.到目前为止它确实很顺利,但现在我偶然发现了一个我似乎无法表达的案例.
Select alias.*,otherAlias.aColumn as aAlias From table as alias inner join otherTable as otherAlias on alias.someColumn = otherAlias.someOtherColumn Where otherAlias.someOtherColumn in (????????)
我的问题是我似乎无法表达我需要它的SELECT部分.如果我只是使用:
.select() -> I get select * .select(alias.fields()) -> I get Select * .select((alias.fields() :+ field(name(otherAlias,aColumn)).as(aAlias)):_*) -> I get Select otherAlias.aColumn as aAlias
有没有办法用jOOQ表达这个?
声明的其余部分似乎按预期工作.我现在在Scala中使用jOOQ 3.10.7并且目标是Postgres,我的声明目前看起来像这样:
sql .select() .from(alias) .innerJoin(otherAlias) .on(field(name(alias,someColumn)).eq(field(name(otherAlias,someOtherColumn)))) .where(condition)
非常感谢.
更新:我找到了一种方法来表达这种似乎通过回退到纯sql的方式.但我仍然想知道是否有更好的方式来表达这一点.这作为选择:
.select((field(""""Alias".*"""),field(name(otherAlias,aColumn)).as(aAlias)):_*) -> I get Select "Alias".*,otherAlias.aColumn as aAlias
解决方法
原文地址:https://www.jb51.cc/mssql/76978.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。