Проблема: Я пытаюсь заставить приведенный ниже код работать в SQL Server.
Я изначально написал код в запросе MS Access, но теперь мне нужно использовать его в SQL Server. У меня проблема в том, что операторы IIF
не работают в SQL Server.
Я пытался использовать оператор Case
, но в итоге он запустил мой SQL Server и никогда не загружал никаких данных. Есть ли какие-либо предложения о том, как преобразовать оператор IIF
для использования в SQL Server? Любая обратная связь будет оценена. Спасибо!
Код, написанный в запросе MS Access:
SELECT
Customer.CustomerID,
IIf([ExpenseCode].[SysCode] >= '1747', [Amount], 0) AS Trains
FROM
Customer
LEFT JOIN
(Expense
LEFT JOIN
ExpenseCode ON Expense.SysCode = ExpenseCode.SysCode) ON Customer.CustomerID = Expense.EntityID;
Попытка решения в SQL Server:
SELECT DISTINCT
r.CustomerID,
CASE
WHEN t.SysCode = '1747'
THEN e.Amount
ELSE NULL
END AS Trains
FROM
ExpenseCode AS t, Expense AS e, Customer AS r