这听起来有点棘手。我有一张表格,列有2012年1月 - 2015年3月的专栏。每个月都有自己的专栏。基于变量将数据插入列
我正在创建一个查询,它是一个循环,它可以计算每位医生最后12个月的访问总数。所以基本上它做了类似的事情,但涉及更多。
Declare @StartDate as Date = '20110101'
Declare @EndDate as Date = Dateadd(mm, 12, @Startdate)
Declare @Column as VarChar(15) = DateName(MM, @EndDate) + DateName(YY, @EndDate)
Create Table #Final
(
DoctorID Int
January2012 Int
February2012 Int
March2012 Int
....
)
Select
DoctorID
Count(InvoiceID) Over (Partition By HospitalID, DoctorID) as CountofVisits
From
Invoice
现在我想要做的就是根据结束日期将访问计数插入到适当的列中。该查询将循环遍历每个月的时间段。
感谢,
如果你有能力修改你的模式,我会推荐使这个表正常化。为每个月创建一个包含三列的访问的链接表,而不是每个月都有一个列:DoctorID,VisitDate和InvoiceID。这意味着你不必每个月都为你的表添加一个新的数据。它可以让你聚合数据(比如访问次数),而不会像这样跳过箍环。 – DeadZone 2015-03-31 19:05:56
不幸的是,为了实现这个目标,还有很多事情需要完成。我刚刚展示了一个简化的版本 - 实际上,我必须根据这段时间内的收入将每个病人的医疗费用限制在一位医生身上。以及其他信息。 – SASUSMC 2015-03-31 19:39:25