我正在尝试将GROUP BY
功能与oracle中的MAX结合起来。我阅读了许多文档,试图弄清楚如何通过Oracle格式化我的请求,该方法总是返回:
ORA-00979:“不是按表达式分组”
这是我的要求:
SELECT A.T_ID, B.T, MAX(A.V)
FROM bdd.LOG A, bdd.T_B B
WHERE B.T_ID = A.T_ID
GROUP BY A.T_ID
HAVING MAX(A.V) < '1.00';
有小费吗 ?
编辑 似乎与我的字段的数据类型有些棘手的部分。
T_ID
是 VARCHAR2
A.V
是 VARCHAR2
B.T
是 CLOB
经过一些修复后,似乎主要问题在于 group by
您必须在SELECT
和中使用相同的表GROUP BY
我还仅使用CLOB的子字符串来使其工作。工作要求是:
SELECT TABLE_A.ID,
TABLE_A.VA,
B.TRACE
FROM
(SELECT A.T_ID ID,
MAX(A.V) VA
FROM BDD.LOG A
GROUP BY A.T_ID HAVING MAX(A.V) <= '1.00') TABLE_A,
BDD.T B
WHERE TABLE_A.ID = B.T_id;
问题内容: 我有一张带有Clob列的表。需要执行基于Clob列内容的搜索。然而 失败但 似乎很好。oracle如何处理Clob列上的过滤。它仅支持’like’子句,不支持=,!=等。是否与其他数据库(如mysql,postgres等)相同 另外,在像Hibernate这样的实现JPA的框架中如何处理这种情况? 问题答案: 是的,这是不允许的(此限制不影响S IN PL / SQL比较)采用比较运营
问题内容: 警告 :请在下面查看我自己的答案。此问题是由10.2.0.4之外的类路径中存在的旧Oracle驱动程序引起的。问题解决了。这个问题的其余部分留给后代。 我一直在反对以下观点。这是从我的应用程序代码中提取的一个简单的POJO: 有一个String属性和一个CLOB列。当内容很短时(例如“ hello world”),它会持续存在。对于更长的字符串,我得到以下异常: 我将Hibernate
问题内容: 我试图将一个超过4000个字符的值写入Oracle Clob字段。这似乎是一个普遍的问题,但是似乎没有解决方案可以奏效。所以我从这里祈祷寻求帮助。 故障和肮脏的信息:使用Oracle 9.2.0.8.0 Hibernate3实现带有注释 Tomcat的pojo Tomcat 6.0.16 Oracle 10.2.x驱动程序 C3P0连接池提供程序 在我的persistence.xml中
问题内容: 我有两张桌子要赞扬。列之一是CLOB类型。我想做这样的事情: 不幸的是,Oracle无法对Clob执行减号操作。我怎样才能做到这一点? 问题答案: 格式是这样的: 如果dbms_lob.compare(lob1,lob2)= 0,则它们是相同的。 这是一个基于您的示例的示例查询:
问题内容: 如何从Clob列获取特定的字符串? 我有以下数据,存储在名为clob的列中 我想从列中搜索字符串 我已经尝试过 上面从我的表中获取全文。 任何帮助都是非常明显的。 问候 问题答案: 就像常规InStr和SubstStr函数一样,使用dbms_lob.instr和dbms_lob.substr。 看一个简单的例子:
使用java和jmstemplate,我试图用包含CLOB字段的有效负载将消息编入oracle队列。 我的问题是你是怎么做这种事的?在谷歌上,有各种各样的建议表明我必须: 用空加载对消息进行排队 使用步骤1中创建的消息id从队列表中检索usr_data 将clob写入队列表。 约安。