ExcelのIF(condition, true_response, false_response)
を使用しようとしているように見えます 構文。 T-SQLで同等のものは、CASE WHEN THEN ELSE END
です。 構文:
SELECT
CASE
WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY ='USD' THEN 1
WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='EUR' THEN 1
ELSE 0
END
FROM
CONTRACTS_IN_DIFFERENT_CURRENCIES
これは、提供している例よりも複雑なクエリで機能します。同じフィールドに同じ応答を返す可能性のある値がいくつかある場合、それを行う別の方法は
です。SELECT
CASE
WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') THEN 1
ELSE 0
END
FROM
CONTRACTS_IN_DIFFERENT_CURRENCIES
ただし、これは特定の通貨の行だけを取得するために使用する正しい構文ではありません。
による前の回答SELECT *
FROM
CONTRACTS_IN_DIFFERENT_CURRENCIES
WHERE
CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR')
そのために最適です。