【发布时间】:2012-12-06 13:08:48
【问题描述】:
我有两张桌子:Table1 和 Table2。 Table1 具有列 RECORDID、DATASOURCETYPE 和 STRINGCLOB,而 Table2 具有列 RECORDID、TIMESTAMP 和 CLICKTYPE。我编写了一个查询来从STRINGCLOB 列中查找clob XML 字符串“book”,前提是它与给定的DATASOURCETYPE 匹配,如下所示:
SELECT SUBSTR(stringclob, instr(stringclob, 'type>')+5
, instr(stringclob,'</type')
- instr(stringclob, 'type>')-5
) r_type from Table1
where DataSourceType = 'Source1'
AND SUBSTR(stringclob, instr(stringclob,'type>')+5
, instr(stringclob, '</type')
- instr(stringclob, 'type>')-5
)
like '%book%'
现在,我想查找并计算上个月记录的 STRINGCLOB 列 (Table1) 中出现的所有 '%book%' 字符串(类似于 AND TIMESTAMP > '01-Nov-12' AND TIMESTAMP < '01-Dec-12')和 @ 987654338@。我正在努力从两个不同的表中查询数据,知道吗?
非常感谢,
我。
【问题讨论】:
-
不太确定我是否理解这个问题,但如果这是 XML 数据,为什么不使用
XMLType和 xpath 等? -
杰克,感谢您的评论。我不熟悉 XML 类型,但它看起来是解决问题的正确方法。谢谢。
-
@ilariac: 能否请您在查询中添加 FROM 子句。
-
@Gaurav 谢谢,我没注意到它不见了。