Sql 如何将特定月份内签订的所有合同的价值与其进行比较';以外币表示的当前值
我想将一天内签订的贷款合同的价值与特定月份内相应的货币汇率(捷克克朗/欧元)进行比较,并说明合同相对于当月的价值(比如6月) 例如: 到目前为止,我有:Sql 如何将特定月份内签订的所有合同的价值与其进行比较';以外币表示的当前值,sql,sql-server,sql-server-2016,Sql,Sql Server,Sql Server 2016,我想将一天内签订的贷款合同的价值与特定月份内相应的货币汇率(捷克克朗/欧元)进行比较,并说明合同相对于当月的价值(比如6月) 例如: 到目前为止,我有: ;WITH orig AS ( SELECT origEUR = SUM(ApprovedLoanAmount / cr.Rate) ,sumCZK = SUM(ApprovedLoanAmount) FROM dim.Contract con JOIN
;WITH orig AS (
SELECT
origEUR = SUM(ApprovedLoanAmount / cr.Rate)
,sumCZK = SUM(ApprovedLoanAmount)
FROM dim.Contract con
JOIN dim.Calendar cal ON con.CreateDateID = cal.DateID
JOIN s96.CurrencyRates cr ON cr.Date = cal.Date
WHERE (YEAR(cal.Date)=2017) AND (MONTH(cal.Date)=5) AND (CurrencyID = 1)
)
SELECT
diff = orig.origEUR - (sumCZK / cr.Rate) --as to the current rate at the end of June
FROM orig orig
JOIN s96.CurrencyRates cr --???
WHERE (YEAR(Date)=2017) AND (MONTH(Date)=6) AND (DAY(Date)=30) AND (CurrencyID = 1)
我希望,我已经把我的想法讲清楚了:-)在条件下,可以将常量作为
的一部分
;WITH orig AS (
SELECT
origEUR = SUM(ApprovedLoanAmount / cr.Rate)
,sumCZK = SUM(ApprovedLoanAmount)
FROM dim.Contract con
JOIN dim.Calendar cal ON con.CreateDateID = cal.DateID
JOIN s96.CurrencyRates cr ON cr.Date = cal.Date
WHERE (YEAR(cal.Date)=2017) AND (MONTH(cal.Date)=5) AND (CurrencyID = 1)
)
SELECT
diff = orig.origEUR - (sumCZK / cr.Rate) --as to the current rate at the end of June
FROM orig orig
JOIN s96.CurrencyRates cr ON cr.Date = CONVERT( DATETIME, '[Pick a date]' ) -- e.g. CONVERT( DATETIME, '2017-07-01' )
WHERE (YEAR(Date)=2017) AND (MONTH(Date)=6) AND (DAY(Date)=30) AND (CurrencyID = 1)
你能给我们一些表格定义和数据示例吗?
;WITH orig AS (
SELECT
origEUR = SUM(ApprovedLoanAmount / cr.Rate)
,sumCZK = SUM(ApprovedLoanAmount)
FROM dim.Contract con
JOIN dim.Calendar cal ON con.CreateDateID = cal.DateID
JOIN s96.CurrencyRates cr ON cr.Date = cal.Date
WHERE (YEAR(cal.Date)=2017) AND (MONTH(cal.Date)=5) AND (CurrencyID = 1)
)
SELECT
diff = orig.origEUR - (sumCZK / cr.Rate) --as to the current rate at the end of June
FROM orig orig
JOIN s96.CurrencyRates cr ON cr.Date = CONVERT( DATETIME, '[Pick a date]' ) -- e.g. CONVERT( DATETIME, '2017-07-01' )
WHERE (YEAR(Date)=2017) AND (MONTH(Date)=6) AND (DAY(Date)=30) AND (CurrencyID = 1)