我在属性(表1235中的属性id 4205)发生更改的日期(在历史记录表中找到)之前拉取发生在该属性上的事务,并按月计算发生的更改数。到目前为止我已经
SELECT TOP(100) PERCENT MONTH(H.transactiondate) AS Month, COUNT(*) AS Count
FROM hsi.rmObjectInstance1235 AS O LEFT OUTER JOIN
hsi.rmObjectHistory AS H ON H.objectID = O.objectID
WHERE H.attributeid = 4205) AND Year(H.transaction date) = '2020'
GROUP BY MONTH(H.transactiondate)
我得到了
Month Count
---------------
1 9
2 4
3 11
4 14
5 1
我需要为六月到十二月的月份显示一个零,而不是排除那些月份。
1条答案
按热度按时间t0ybt7op1#
一个选项使用递归查询生成日期,然后将原始查询与
left join
:我不太清楚这张table的用意
hsi.rmObjectInstance1235
在查询中,因为没有在select
以及group by
条款;它是用来过滤的hsi.rmobjecthistory
由objectID
,然后您可以将其重写为exists
条件,如上述解决方案所示。可能的话,您也可以删除查询的这一部分。另外,请注意
top
没有order by
真的说不通top (100) percent
是不可能的因此,我删除了行限制条款。