我有 2 个没有关系的表,两个表的列数不同,但是有几列相同但包含不同的数据。我能够只创建我想要的数据的函数或视图,但是当我尝试通过过滤日期来计算数据时,我总是得到错误的计数作为回报。让我通过展示 2 个功能和我尝试做的事情来解释:
功能一
ID - number from 1 to 8
data sent - YES or NO
Date - date value
功能二
ID - number from 1 to 8
data sent - yes or no
date - date value
分别运行两者后,我从表中获取了所有行,一切看起来都很好。
然后我尝试将以下内容添加到每个函数中:
select
count([data sent]), ID
from function1
Where (date between @date1 and @date2)
group by ID
上面的语句效果很好,并为我提供了每个函数的正确结果。
现在我想如果我想将这 2 个函数加到一个中并从 1 页上的两个函数中获取计数怎么办。
所以我创建了以下函数:
功能 3
select
count(Function1.[data sent]) as Expr1,
Function1.id,
count(Function2.[data sent]) as Expr2,
Function1.date
from
Function1
LEFT OUTER JOIN
Function2 on Function1.id = Function2.id
Where
(Function1.date between @date1 and @date2)
group by
Function1.id
运行上述内容后,我得到下表:
ID Expr1 Expr2
在 Expr1 和 Expr2 上,我都得到了我不确定它们来自哪里的结果。我猜有些东西要乘以 100000,因为一个表包含近 15000 行,另一个表包含大约 5000 行。
我首先想知道的是,是否有可能同时按日期过滤并计算两个表中的记录。如果有人需要更多信息,请告诉我,我很乐意分享和解释更多。
谢谢