好吧,所有的SQL大师和绝地,这里是我的问题,并要求在SQL SSMS中的案例陈述。
我有一年的日期。
因此,每一行的日期从2013年3月24日开始,一直持续到今天。
我希望每14天被打电话给04/12/2013。
So from 03/24/2013 thru 04/06/2013 would be all 04/12/2013 and
from 04/07/2013 thru 04/20/2013 would be 04/26/2013 and
from 04/21/2013 thru 05/04/2013 would be 05/10/2013 and so on.下面是给你一个想法的集合:
希望这是有意义的。
发布于 2014-09-19 02:26:07
有几种方法可以做到这一点-我可能想要创建一个表与所有适当的支付日期,然后加入使用逻辑,这是相对简单的。
类似于:
select PayDate.date
from date
inner join PayDate on datediff(day, date.date, PayDate.date) > 18 AND datediff(day, date.date, PayDate.date) < 4或者别的什么。我还没有计算出确切的datediff,因为我正在做一些事情,但这应该已经足够开始了。
发布于 2014-10-06 15:39:36
因此,从可怕的StackOverflow中获得提示,并听取Jeff的建议,我继续创建了一个临时表,并使查询开始工作。现在,我使用以下临时表代码获得所需的信息,并在日期上执行内部连接,并在Select语句中包括PP日期。
希望这能帮助其他拥有数据库只读特权的人。
declare @temp table
(
Date datetime,
PPDate datetime
)
INSERT INTO @temp (Date, PPDate)
SELECT '2013-2-10', '2013-3-1'
UNION ALL SELECT '2013-2-11', '2013-3-1'
UNION ALL SELECT '2013-2-12', '2013-3-1'
....
....
UNION ALL SELECT '2013-2-23', '2013-3-1'
UNION ALL SELECT '2013-2-24', '2013-3-15'
....
....
UNION ALL SELECT '2013-3-8', '2013-3-15'
UNION ALL SELECT '2013-3-9', '2013-3-15'
UNION ALL SELECT '2013-3-10', '2013-3-29'
UNION ALL SELECT '2013-3-11', '2013-3-29'
....
....
UNION ALL SELECT '2013-3-22', '2013-3-29'
UNION ALL SELECT '2013-3-23', '2013-3-29'
UNION ALL SELECT '2013-3-24', '2013-4-12'
select a.StrDate, t.PPDate, sum(Qty) Qty from tbl1 a
Inner Join @temp t on t.date = a.StrDate
group by a.StrDate, t.PPDatehttps://stackoverflow.com/questions/25925372
复制相似问题