我在这里发布的第一个问题,所以请原谅我所犯的错误:
我正在使用crystal report 2011。我正在尝试用两个“不同的”命令做一个报告,第一个命令应该显示所有的呼叫总数(注意: cdr.aantal列),第二个命令应该只显示那些振铃时间小于或等于20的呼叫。我只使用最后一个命令的cdr.aantal列,并将其作为报告的最后一列。但由于某些原因,它只是再次显示呼叫总数(而不是20或更少)。我也试着做一个更大的sql查询(命令),但也不起作用。
第一条命令
DECLARE @FromDate Date
DECLARE @ToDate Date
set @FromDate = ('01-07-2015')
set @ToDate = ('01-08-2015')
select [CDR].[Account], [CDR].[DnNo], COUNT ([CDR].[ID])[aantal], SUM([CDR].[Duration] [Duration], [CDR].[CdrDate], [Departments].[Description]
from [PhonEXONE].[MIND].[CDR]
Inner join [PhonEXONE].[MIND].[AllAssignmentsView]
on [CDR].[DeviceID] = [AllAssignmentsView].[DeviceID]
inner join [PhonEXONE].[MIND].[Departments]
on [AllAssignmentsView].[DepartmentID] = [Departments].[ID]
WHERE [CDR].[CdrDate] >= @FromDate AND [CDR].[CdrDate] <= @ToDate
group by [CDR].[DnNo] ,[CDR].[Account], [CDR].[CdrDate], [Departments].[Description]
order by [CDR].[DnNo]第二条命令
DECLARE @FromDate Date
DECLARE @ToDate Date
set @FromDate = ('01-07-2015')
set @ToDate = ('01-08-2015')
select [CDR].[Account], [CDR].[DnNo], COUNT ([CDR].[ID])[aantal], SUM([CDR].[Duration] [Duration], [CDR].[CdrDate], [Departments].[Description]
from [PhonEXONE].[MIND].[CDR]
Inner join [PhonEXONE].[MIND].[AllAssignmentsView]
on [CDR].[DeviceID] = [AllAssignmentsView].[DeviceID]
inner join [PhonEXONE].[MIND].[Departments]
on [AllAssignmentsView].[DepartmentID] = [Departments].[ID]
WHERE [CDR].[CdrDate] >= @FromDate AND [CDR].[CdrDate] <= @ToDate
AND [CDR].[RingTime] >= '20'
group by [CDR].[DnNo] ,[CDR].[Account], [CDR].[CdrDate], [Departments].[Description]
order by [CDR].[DnNo]这是我的1个更大的sql
DECLARE @FromDate Date
DECLARE @ToDate Date
set @FromDate = ('01-07-2015')
set @ToDate = ('01-08-2015')
select A.[Account], A.[DnNo], A.[aantal], A.[TDuration], A.[CdrDate], A.[Description],B.[aantal20]
from (
select [CDR].[Account], [CDR].[DnNo], COUNT([CDR].[ID])[aantal], SUM([CDR].[Duration]) [TDuration], [CDR].[CdrDate], [Departments].[Description]
From [PhonEXONE].[MIND].[CDR]
Inner join [PhonEXONE].[MIND].[AllAssignmentsView]
on [CDR].[DeviceID] = [AllAssignmentsView].[DeviceID]
inner join [PhonEXONE].[MIND].[Departments]
on [AllAssignmentsView].[DepartmentID] = [Departments].[ID]
WHERE [CDR].[CdrDate] >= @FromDate AND [CDR].[CdrDate] <= @ToDate
group by [CDR].[DnNo] ,[CDR].[Account], [CDR].[CdrDate], [Departments].[Description]
) A left join
(select [CDR].[Account], COUNT ([CDR].[ID])[aantal20]
from [PhonEXONE].[MIND].[CDR]
WHERE [CDR].[RingTime] <= '20'
group by [CDR].[DnNo] ,[CDR].[Account], [CDR].[CdrDate]
)B
on A.Account = B.Account
order by A.DnNo再次为我的英语道歉,如果我做错了什么,ps :我不能发布图片:
发布于 2015-01-15 22:23:05
我找到了答案,我的第二个命令链接到我的第一个命令,这不应该是这种情况,我删除了链接,它工作了
https://stackoverflow.com/questions/27962636
复制相似问题