SQL multi if语句

时间:2017-06-07 08:12:36

标签: sql sql-server

我有两个表,数据和费率。在数据表中,我有以下信息: -

enter image description here

至于费率表,我有以下信息: -

enter image description here

最终输出应采用以下格式: -

enter image description here

条件: -

一个。如果Local Currency和Document Current相同,则ExRate必须等于1;

湾如果它们不相同,那么ExRate将基于Rate表中的Local Currency。

如何生成上述输出?

1 个答案:

答案 0 :(得分:1)

您可以使用LEFT JOINCASE

SELECT d.*, 
        CASE
            WHEN d.DocumentCurrency = r.LocalCurrency then 1
            ELSE r.ExRate
        END AS ExRate
FROM Data d
LEFT JOIN Rate r on d.DocumentCurrency = r.DocumentCurrency
                    AND d.LocalCurrency = r.LocalCurrency