当前位置: 首页 > 知识库问答 >
问题:

在Oracle CCB实用程序框架中使用SELECT子句时出现HQL查询异常

乜明朗
2023-03-14

我在hql(Oracle CC&B Utilities Framework)中遇到一个问题

我的SQL查询是

select msg.EXT_MSG_ID, msg.MKTMSG_ID
from  O2_IN_CA_MSG msg
where EXT_MSG_ID = (select to_char(max(to_number(msg1.EXT_MSG_ID)))
                          from O2_IN_CA_MSG msg1, F1_BUS_OBJ_STATUS bostatus 
                          where msg1.BUS_OBJ_CD = bostatus.BUS_OBJ_CD 
                                AND bostatus.BO_STATUS_COND_FLG <> 'F1FL' 
                                AND msg1.BO_STATUS_CD = bostatus.BO_STATUS_CD 
                                AND msg1.BUS_OBJ_CD = 'O2-OESPCusTarIn'
                                AND msg1.SRC_DOC_ID = '12345678' 
                                AND msg1.MKTMSG_ID <> '179977027857'
                                AND msg1.acct_id = '7565333022'
                  )

HQL查询1:

FROM InboundCustomerAdminMessage inboundCustomerAdminMessage
WHERE inboundCustomerAdminMessage.externalMessageId = 
    (TO_CHAR(MAX(TO_NUMBER(inboundCustomerAdminMessage1.externalMessageId))) 
    FROM InboundCustomerAdminMessage inboundCustomerAdminMessage1, BusinessObjectStatus businessObjectStatus 
    WHERE inboundCustomerAdminMessage1.businessObject.id = businessObjectStatus.id.businessObject.id 
    AND businessObjectStatus.condition <> :boStatusCond 
    AND inboundCustomerAdminMessage1.status = businessObjectStatus.id.status 
    AND businessObjectStatus.id.businessObject.id = :businessObjectId 
    AND inboundCustomerAdminMessage1.sourceDocumentId = :srcDocId 
    AND inboundCustomerAdminMessage1.id <> :mktMsgId )

例外情况是:ORA-00934:此处不允许使用组函数

我使用SELECT HQL query 2尝试了第二次查询:

FROM InboundCustomerAdminMessage inboundCustomerAdminMessage
WHERE inboundCustomerAdminMessage.externalMessageId = 
    (SELECT TO_CHAR(MAX(TO_NUMBER(inboundCustomerAdminMessage1.externalMessageId))) 
    FROM InboundCustomerAdminMessage inboundCustomerAdminMessage1, BusinessObjectStatus businessObjectStatus 
    WHERE inboundCustomerAdminMessage1.businessObject.id = businessObjectStatus.id.businessObject.id 
    AND businessObjectStatus.condition <> :boStatusCond 
    AND inboundCustomerAdminMessage1.status = businessObjectStatus.id.status 
    AND businessObjectStatus.id.businessObject.id = :businessObjectId 
    AND inboundCustomerAdminMessage1.sourceDocumentId = :srcDocId 
    AND inboundCustomerAdminMessage1.id <> :mktMsgId )

org.hibernate.queryException:(应在前面)在select[select inboundCustomerAdminMessage.ExternalMessageID FROM com.splwg.domain.mtm.inbound.inboundCustomerAdminMessage.inboundCustomerAdminMessage__inboundCustomerAdminMessage.inboundCustomerAdminMessage.inboundCustomerAdminMessage.inboundCustomerAdminMessage.inboundCustomerAdminMessage.inboundCustomerAdminMessage=allerAdminMessage.ExternalMessageID描述]

请您帮助大家如何在HQL中使用SELECT子句。

共有1个答案

唐宏壮
2023-03-14

删除HQL中的“Order by InboundCustomerAdminMessage.ExternalMessageID Desc”

 类似资料:
  • 问题内容: 我正在尝试在MySQL选择查询中使用一条语句。 我在第一个语句之后出现错误。 为什么这不起作用?在MySQL查询中执行IF语句的正确方法是什么? 问题答案: 您使用的IF / THEN / ELSE构造仅在存储过程和函数中有效。您的查询将需要重组,因为您不能使用IF()函数来控制WHERE子句的流程。 可以在查询中使用的IF()函数主要用于在查询的SELECT部分​​中根据某些条件选择

  • 来自Teradata,我通常会创建一个包含一些变量的易失性表,我会在代码中使用这些变量。 例如。, 然后我会在SELECT WHERE子句中使用该表: 我试图在色调(Impala editor)中执行类似的操作,但遇到了一个错误: AnalysisException:第5行中的语法错误:未定义:来自表名隐藏^遇到:来自预期的:大小写、强制转换、默认值、存在、FALSE、IF、INTERVAL、NO

  • 嗨,伙计们,我试图检索数据从我的数据库使用HQL编辑器查询。我遵循了示例“在JavaSwing应用程序中使用Hibernate”中的步骤。我的配置文件如下: 映射: 使用这个:或我得到以下错误: org.hibernate.exception.SQLGrammarExcture:无法在org.hibernate.exception.SQLStateConverter.convert(SQLStat

  • 在cassandra cqlsh中select with where子句工作良好 com.netflix.astyanax.connectionpool.exceptions网站。BadRequestException:BadRequest异常:[host=10.65.240.89(10.65.240.89):9160,latency=237(342),attachs.AbstractOperat

  • 问题内容: 我正在将子系统从 NHibernate 移植到 Entity Framework, 并希望看到将以下查询移植到 EF 的最佳方法。 帐户余额类别为: 该表是: 示例数据是(使用数字ID可以更好地理解): 该 AccountBalanceByDate 实体持有某一天的账户余额。如果某天没有交易,则该天将没有 AccountBalanceByDate ,我们应该查看前几天以查看该帐户的余额

  • 问题内容: 在WHERE子句中有使用SELECT语句描述的名称吗?这是好/不好的做法吗? 这会是更好的选择吗? 它远没有那么优雅,但是运行起来比以前的版本要快。我不喜欢它,因为它在GUI中没有非常清晰地显示(并且SQL初学者需要理解它)。我可以将其分为两个独立的查询,但是随后事情变得混乱了…… 注意:我不仅需要日期和分数(例如姓名) 问题答案: 称为相关子查询。它有它的用途。