PL / SQL-当表和条件都不同时,如何在单个查询中实现多个计数语句

时间:2016-06-24 17:08:03

标签: sql oracle opentext livelink

我正在使用使用PL / SQL数据库的Open Text Content Server工具。我想要做的是通过6个不同的查询获取计数数据,所有查询都具有不同的条件和不同的表。我试图结合所有这6个计数查询,但没有运气。以下是列出的6个查询:

一个月内创建的文件:

select count (dataid) from Dtree where 
Createdate >= %1 and createdate <= %2 and subtype = 144

用户总数:

select count(a.id) from Kuaf a, kuaf b where 
a.deleted =0 and a.type =0 and b.id = a.groupid

一个月内记录的唯一身份用户(计数):

Select count (distinct (performerID))
from dauditnew where auditid=23 and auditdate >= %1 and auditdate <= %2

一个月内创建的用户(计数):

Select Count(dataid) FROM DAUDITNEW where AUDITID = 1 
AND AUDITSTR LIKE 'Create' and subtype=142 AND 
auditdate >= %1 and auditdate <= %2

用户已删除(计数):

SELECT count(a.userid) from dauditnew a WHERE
a.auditstr = 'Delete' AND 
a.AuditDate >= %1 AND 
a.AuditDate <= %2 AND 
a.UserID in (Select ID from KUAF where Deleted = 1 and Type=0)

启动的工作流程:

Select count(*) from Wworkaudit WWA where WWA.workaudit_status=1 AND 
WWA.workaudit_date >= %1 and WWA.workaudit_date <= %2

此处%1,%2表示用户输入。由于这6个查询都具有非常不同的条件,因此将它们组合起来似乎是一项艰巨的任务。请帮帮我。

谢谢。

2 个答案:

答案 0 :(得分:3)

    # Launches elevated PS session if possible.
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{   
  $arguments = "& '" + $myinvocation.mycommand.definition + "'"
  Start-Process powershell -Verb runAs -ArgumentList $arguments
  Break
}

答案 1 :(得分:0)

使用UNION ALL语句

实施例。 从...中选择计数(a.x)...... UNION ALL 从b ...中选择计数(b.z)... UNION ALL 从c ...中选择计数(c.y)... 等

注意:您必须使用UNION ALL,因为如果您使用常规UNION,则不会显示重复的结果