SQL';s查询添加值
我希望您能在这个sql查询中帮助我。(SQL SERVER) 我有这些桌子SQL';s查询添加值,sql,sql-server,Sql,Sql Server,我希望您能在这个sql查询中帮助我。(SQL SERVER) 我有这些桌子 TABLE1 COLUMN0 COLUMN1 COLUMN2 COLUMN3 A DOLAR 2.5 18/02/2013 A DOLAR 1.5 18/02/2013 B EURO 22 19/02/2013 B DOLAR 4.5 19/02/2013 B DOLAR 1.3 18/02/201
TABLE1
COLUMN0 COLUMN1 COLUMN2 COLUMN3
A DOLAR 2.5 18/02/2013
A DOLAR 1.5 18/02/2013
B EURO 22 19/02/2013
B DOLAR 4.5 19/02/2013
B DOLAR 1.3 18/02/2013
C EURO 0.5 19/02/2013
TAB_RATES
COLUMN0 COLUMN1
18/02/2013 1.35
19/02/2013 1.36
我想用美元加上所有的“B”值(第2列)
但我有一些是欧元的
表1的第3列显示了该日期的多拉值(FK_TAB_费率)
sql查询是什么 我猜您的Tab_Rates表是给定日期的货币乘数。如果是这样的话,类似的方法可能会奏效:
SELECT SUM (T.Column2 *
CASE
WHEN T.Column1 = 'Euro'
THEN TR.Column1
ELSE 1.0
END) SummedAmt
FROM Table1 T
JOIN Tab_Rates TR ON T.Column3 = TR.Column0
WHERE T.Column0 = 'B'
下面是一个演示
这产生了35.72。手动操作,4.5+1.3+22(1.36)=35.72
祝你好运。我猜你的Tab_Rates表是当天的货币乘数。如果是这样的话,类似的方法可能会奏效:
SELECT SUM (T.Column2 *
CASE
WHEN T.Column1 = 'Euro'
THEN TR.Column1
ELSE 1.0
END) SummedAmt
FROM Table1 T
JOIN Tab_Rates TR ON T.Column3 = TR.Column0
WHERE T.Column0 = 'B'
下面是一个演示
这产生了35.72。手动操作,4.5+1.3+22(1.36)=35.72
祝你好运。试试这样的(未经测试)
试试这样(未经测试)
试试这个:
SELECT SUM (T.Column2 *
CASE
WHEN T.Column1 = 'Euro'
THEN TR.Column1
ELSE 1.0
END) SummedAmt
FROM Table1 T
JOIN Tab_Rates TR ON T.Column3 = TR.Column0
WHERE T.Column0 = 'B'
试试这个:
SELECT SUM (T.Column2 *
CASE
WHEN T.Column1 = 'Euro'
THEN TR.Column1
ELSE 1.0
END) SummedAmt
FROM Table1 T
JOIN Tab_Rates TR ON T.Column3 = TR.Column0
WHERE T.Column0 = 'B'
你到底想做什么?如果
COLUMN1
的值为DOLAR
,而COLUMN0
的值为B
,则只需添加即可?或者你是想转换欧元还是别的什么?这个问题很难理解。你到底想做什么?如果COLUMN1
的值为DOLAR
,而COLUMN0
的值为B
,则只需添加即可?或者你是想转换欧元还是别的什么?这个问题很难理解。