mysql - T SQL CASE WHEN EXISTS 更新语句

标签 mysql database tsql case

存在货币转换问题。我们有一个包含汇率的表,另一个包含要更新的数据。这是我的查询,它不起作用,因为 EX.currencyrate 未绑定(bind)。我只想在适用的情况下插入费率表中的费率。

UPDATE #TMP_GT_PROCESSED_JDI_TST set FX_RATE_INVRS=
(CASE WHEN EXISTS (select basecurrencycode from  ExchangeRate EX
Join #TMP_GT_PROCESSED_JDI_TST TT
ON TT.currency=EX.basecurrencycode
AND EX.isactive=1)
then EX.currencyrate 
ELSE 0
END);

最佳答案

这应该有效:

UPDATE px
set px.FX_RATE_INVRS = isnull(EX.currencyrate,0)
from #TMP_GT_PROCESSED_JDI_TST px 
left join ExchangeRate EX on EX.basecurrencycode = px.currency 

关于mysql - T SQL CASE WHEN EXISTS 更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350341/

相关文章:

database - 如何禁用 Django 查询缓存?

sql - 生成SQL Server数据库中所有索引、键的脚本

php - 类别和子类别

mysql - Openldap backsql 将用户添加到带有 groupofNames 的组

javascript - Sequelize - 我收到错误 : "This version of MySQL doesn' t yet support 'item type for JSON"

php - 来自 mysql_fetch_array 的数组,带有选择所有内容的查询并没有保存所有值

html - 将 html 功能添加到 utl_smtp 未显示在 gmail 中,但在另存为 .html 文件并在浏览器中打开时显示

database - 如何为 Entity Framework 创建有效的连接字符串 - 底层提供程序在打开时失败?

tsql - 删除所有登录名,其中 loginname 像

sql-server - 为什么 Intellisense 在 SQL Server Management Studio 2008 R2 中不起作用?