【问题标题】:HQL Related issue unexpected token: InnerJoin near line 1, column 257HQL 相关问题意外令牌:第 1 行附近的 InnerJoin,第 257 列
【发布时间】:2015-02-19 11:21:51
【问题描述】:
select a.fmId, a.nameFirstMarketing, a.nameLastMarketing, a.lotusNotesEmailAddress
from Advisor a
where a.fmId in
    (Select ae.id.fmId
    from AdvsEnrl ae
    where ae.enrlProcCmplTstp IS NOT NULL
    InnerJoin
    select aor.id.identifierDisplayNumber 
    from AdvsOboRel aor
    where aor.id.identifierDisplayNumber in
        (select ae.id.fmId
        from AdvsEnrl ae where ae.enrlProcCmplTstp IS NOT NULL;

我收到了这个错误,你能告诉我如何解决这个错误吗? 意外标记:靠近第 1 行第 257 列的 InnerJoin

【问题讨论】:

  • InnerJoin 不存在。括号不平衡。此查询在 SQL 中也不起作用
  • 如何写这个查询 joe
  • 亲爱的,发布你的表结构和你的功能目标
  • 在 advisor 表 fmid 和 name firstmarketing 和 namelastmarketing 和 lotusnotesemail 地址列和 advsenrl 表中也是 fmid 并且我们应该 enrlproccmpltstp 不为 null 并且第三个表 Displaynumber 表示在 advsoborel 表中的 fmid 我们可以使用内部连接替换工会
  • 如果可能,请编辑您的问题。发布结构表如下:表名,然后是列。

标签: hibernate


【解决方案1】:

在我们之间写完cmets之后:

试试这个:

select
    a.fmId, a.nameFirstMarketing, a.nameLastMarketing,
    a.lotusNotesEmailAddress
from Advisor a
where a.fmId in
    (Select aor.identifierDisplayNumber
    from AdvsOboRel aor
    where aor.identifierDisplayNumber in 
        (select ae.fmId
        from AdvsEnrl ae where ae.enrlProcCmplTstp IS NOT NULL)
    )

如果AdvsOboRel 类具有属性(多对一),请参阅AdvsEnrl,您可以删除最后一个 IN 子句,使用点表示法获取有关 AdvsEnrl 的信息

【讨论】:

    猜你喜欢
    • 2015-07-12
    • 1970-01-01
    • 2016-02-21
    • 2016-12-21
    • 1970-01-01
    • 2015-11-14
    • 2013-02-22
    • 1970-01-01
    • 2014-08-20
    相关资源
    最近更新 更多