Il semble que vous essayez d'utiliser le IF(condition, true_response, false_response)
d'Excel syntaxe. L'équivalent en T-SQL est le CASE WHEN THEN ELSE END
syntaxe :
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
Cela fonctionnera avec des requêtes plus complexes que l'exemple que vous nous donnez. Une autre façon de le faire, si vous avez un certain nombre de valeurs possibles pour le même champ qui renverront la même réponse, serait
SELECT
CASE
WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') THEN 1
ELSE 0
END
FROM
CONTRACTS_IN_DIFFERENT_CURRENCIES
Cependant, ce n'est pas la bonne syntaxe à utiliser pour obtenir uniquement les lignes avec certaines devises; la réponse précédente avec
SELECT *
FROM
CONTRACTS_IN_DIFFERENT_CURRENCIES
WHERE
CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR')
fonctionnerait mieux pour cela.