Изглежда, че се опитвате да използвате IF(condition, true_response, false_response)
на Excel синтаксис. Еквивалентът в 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')
ще работи най-добре за това.