当前位置: 代码迷 >> Sql Server >> SQL server 2008 选任意两行的数据做减法 应该怎么写
  详细解决方案

SQL server 2008 选任意两行的数据做减法 应该怎么写

热度:46   发布时间:2016-04-24 09:03:37.0
SQL server 2008 选任意两行的数据做减法 应该如何写?
      A1           A2           A3          时间
    1100     1000       1300      2009年1月01日
    1400     1200       1450      2009年1月02日
    1700     1400       1450      2009年1月03日
    1900     1500       1500      2009年1月04日
    2000     1600       1500      2009年1月05日

希望可以用 05日 或者任意一天的一行 减去01日的或者任意一天的一行应该怎么写?

------解决思路----------------------
SELECT T1.A1-T2.A1,T1.A2-T2.A2,T1.A3-T2.A3
FROM tb T1,tb T2
WHERE T1.时间='2009年1月05日'AND T2.时间='2009年1月01日'

------解决思路----------------------

CREATE PROC pSubtract
  @StartDate SmallDateTime,
  @EndDate SmallDateTime
AS

SELECT t1.A1-t2.A1 A1, t1.A2-t2.A2 A2, t1.A3-t2.A3 A3
FROM tb t1, tb t2
WHERE t1.时间=@EndDate AND t2.时间=@StartDate

go

exec pSubtract('2009-01-01', '2009-01-05')
  相关解决方案