Tsql t-sql逻辑查找收据金额
我有逻辑来计算收据金额和收据日期之和。我不确定下面的t-sql是否适合我的逻辑 我需要最大接收日期,并将选择任何接收日期,即2014年1月1日。这将为我提供为个人id支付的预付款。此外,如果最大接收日期值为负值,则我需要将其从计算中删除Tsql t-sql逻辑查找收据金额,tsql,sql-server-2008-r2,Tsql,Sql Server 2008 R2,我有逻辑来计算收据金额和收据日期之和。我不确定下面的t-sql是否适合我的逻辑 我需要最大接收日期,并将选择任何接收日期,即2014年1月1日。这将为我提供为个人id支付的预付款。此外,如果最大接收日期值为负值,则我需要将其从计算中删除 WITH rec_cte (amt,recdate) AS ( select -40, 01-04-2014 UNION ALL select -40,01-04-2014 UNION ALL select 40,20-04-2013 UNION ALL se
WITH rec_cte (amt,recdate) AS
(
select -40, 01-04-2014 UNION ALL
select -40,01-04-2014 UNION ALL
select 40,20-04-2013 UNION ALL
select -20,10-04-2012 UNION ALL
select 50,20-04-2011 UNION ALL
select 40,20-04-2010 UNION ALL
)
SELECT SUM(amt),recdate from rec_cte
就我能解释你的问题而言,你正在寻找基于ID的SUMamt
WITH rec_cte AS
(
select 1 as id,-40 as amt, '01-04-2014' as recdate UNION ALL
select 1, -40,'01-04-2014' UNION ALL
select 2, 40,'20-04-2013' UNION ALL
select 3, -20,'10-04-2012' UNION ALL
select 2, 50,'20-04-2011' UNION ALL
select 1, 40,'20-04-2010'
)
SELECT id, SUM(amt) from rec_cte
--where recdate= '01-04-2014'
group by id
having SUM(amt)>=0
请重新表述这个问题。首先,SQL语句有错误,其次,不清楚您想要/需要什么结果。这里的问题是计算日期的收据金额,该日期也可以位于两个收据ID之间。即,20-07-2-13至2014年4月1日,我只需要找到这些接收日期的大致金额以及相应的金额。