Это мой запрос, который работает:Невозможно добавить оператор IF в SQL запросе
Select AsOfDate, Family, Type, DocID, Title, Date1, Date2, Date3, Stat1, Stat2, Stat3
FROM DocumentationData
WHERE Type = @Type
AND Family = @Family
AND AsOfDate = (SELECT Max(AsOfDate)
FROM DocumentationData
WHERE AsOfDate <= @CurrentDate)
Я хочу, чтобы добавить условие. Я хочу, чтобы дополнительное ограничение использования = «Активный», если @ActiveOnly верно
Это то, что я пытаюсь, но это приводит к ошибке:.
Select AsOfDate, Family, Type, DocID, Title, Date1, Date2, Date3, Stat1, Stat2, Stat3
FROM DocumentationData
WHERE Type = @Type
AND Family = @Family
AND AsOfDate = (IF (@ActiveOnly = 'TRUE')
BEGIN
SELECT Max(AsOfDate)
FROM DocumentationData
WHERE AsOfDate <= @CurrentDate
AND Usage = 'Active'
END
ELSE
BEGIN
SELECT Max(AsOfDate)
FROM DocumentationData
WHERE AsOfDate <= @CurrentDate
END
)
Какая ошибка? – Marc
Ошибка: неправильный синтаксис рядом с ключевым словом «IF». Неверный синтаксис рядом с ')'. – user1744318