【问题标题】:Populate a column via multi-dimensional lookup in SQL?通过 SQL 中的多维查找填充列?
【发布时间】:2021-01-23 02:41:14
【问题描述】:

我有以下两张表:

TABLE_A:

Date USD EUR
2020-01-31 1.11 0.89
2020-02-28 1.15 0.93

表_B:

Date Currency Amount
2020-01-31 USD NULL
2020-02-29 EUR NULL

我想用 TABLE_A 中的相应金额填充 TABLE_B 中的金额字段,具体取决于匹配的日期和货币。有没有办法在 SQL 中执行这种多维查找?

【问题讨论】:

    标签: sql sql-server tsql vlookup


    【解决方案1】:

    我可以看到两个表共有的唯一联接是日期值,您可以加入它,然后使用CASE 表达式根据tableB 中的值从tableA 中选择适当的值

    SELECT CASE WHEN b.Currency = 'USD' THEN a.USD ELSE a.EUR END as [Amount]
    FROM tableA AS a
    INNER JOIN tableB AS b
    ON b.Date = a.Date
    

    【讨论】:

    • CASE 表达式.
    猜你喜欢
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多