SQL:根据查询字符串参数的存在,识别服务器日志中的唯一记录

时间:2011-12-05 00:47:10

标签: mysql sql oracle

我是业务最终用户,并且可以访问前端数据仓库工具,以查询存储在服务器日志中的结果。有问题的软件是Oracle BI Answers,它允许根据请求的列进行简单和高级的过滤和结果显示。

出于这个问题的目的,假设服务器正在接收http://servername/file.html?param1=xxx&param2=yyy的请求(其中xxx和yyy是字母数字值)。

我需要为file.html的所有请求过滤服务器日志,其中param1 = abc和param2 = def(即交集)。我正在使用的SQL查询如下。我确定我写的正确,但是当我添加AND条件而不是底层服务器请求时,软件似乎正在过滤VISIBLE RESULT。

即,如果我使用:

("Request Info"."Query Name" LIKE '%param1%' AND "Request Info"."Query Value" LIKE '%abc%') OR ("Request Info"."Query Name" LIKE '%param2%' AND "Request Info"."Query Value" LIKE '%def%')

我得到的结果是(计算服务器日志中出现的param1和param2的所有时间):

param1 5 param2 10

但是,如果我使用,我认为应该给我上面两个值的交集,我得到一个“找不到结果”错误(当我知道交叉点有结果的事实):

("Request Info"."Query Name" LIKE '%param1%' AND "Request Info"."Query Value" LIKE '%abc%') AND ("Request Info"."Query Name" LIKE '%param2%' AND "Request Info"."Query Value" LIKE '%def%')

我收到以下错误消息:

无结果 - 指定的标准未导致任何数据。这通常是由于应用过于严格的过滤器或包含不正确的值的过滤器引起的。请检查您的请求过滤器,然后重试。

0 个答案:

没有答案