我有两个观点。一个视图显示了客户合同的到期日期。另一个是返回客户合同的所有开始日期。我不想找出过期合同的续期金额。规则是,客户必须在合同到期后的90天内开始签订合同。
假设分析期为2013年1月。我的到期金额为2835,15。现在我在到期后的90天内有两个(2835,1596)合约开始。
我需要一个查询来获得结果:
尝试了很多陈述,但我发现没办法得到这个结果。任何想法?
由于
答案 0 :(得分:0)
这是我尝试过的答案
表一:
USE [NMIIFDB_DEV]
GO
/****** Object: Table [dbo].[tes1] Script Date: 5/3/2013 4:20:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tes1](
[ContractEndDate] [date] NULL,
[CustomerNo] [nvarchar](50) NULL,
[ContractAmount] [numeric](18, 2) NULL
) ON [PRIMARY]
GO
表2
USE [NMIIFDB_DEV]
GO
/****** Object: Table [dbo].[tes2] Script Date: 5/3/2013 4:20:46 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tes2](
[ContractStartDate] [date] NULL,
[CustomerNo] [nvarchar](50) NULL,
[ContractAmount] [numeric](18, 2) NULL
) ON [PRIMARY]
GO
SELECT STATEMENT
select YEAR(T1.ContractEndDate) AS ExpirationYear, MONTH(T1.ContractEndDate) as ExpirationMonth,
T1.ContractAmount AS ExpirationAmount, SUM(T2.ContractAmount) AS RenewalAmount
from tes1 T1, tes2 T2
where MONTH(T1.ContractEndDate) = 01 AND YEAR(T1.ContractEndDate) = 2013 AND MONTH(T2.ContractStartDate) = 01 AND YEAR(T2.ContractStartDate) = 2013
GROUP BY YEAR(T1.ContractEndDate), MONTH(T1.ContractEndDate),
T1.ContractAmount
您可以在括号中声明要比较的参数