有一个表。<br> CREATE TABLE HeathTracker<br> (<br> [ItemID] [int] NOT NULL IDENTITY(1, 1),<br> [CreatedDateTime] [datetime] NOT NULL,<br> [Height] [float] NOT NULL,<br> [Weight] [float] NOT NULL,用来存储每一天的身高和体重记录,有可能一天有几条记录,有可能这一天完全没有记录。<br><br>我们可以按周统计这些记录,希望通过一个存储过程实现这样效果:比如按周统计,那么SQL返回的记录是从查询的当天和前6天的记录,如果某一天没有记录,不能不返回记录,而是返回一个Height, Weight, Notes为空,日期为那一天的记录。<br><br>我们可以用<br>CreatedDateTime > GETDATE() and CreatedDateTime < DATEADD(day, 6, GETDATE())<br>来查询当天到前6天的记录,但问题是这样如果7天中的某一天没有记录的情况,就会把这一天忽略,而不是自动补充一个。<br><br>我想到可以用循环来做,针对每一天做循环,如果有数据就返回,如果没有,自动填充Height, Weight, Notes并返回。<br><br>不知哪位知道如何写这个SQL存储过程。<br>
慕虎7371278
蓝山帝景
相关分类