declare @SP nvarchar(3)
SELECT HDR.SOPNUMBE, HDR.docdate, HDR.pymtrmid,
RTRIM(HDR.ShipToName) +
CASE WHEN HDR.ADDRESS1 <> '' THEN char(10) + RTRIM(HDR.ADDRESS1) ELSE '' END
FROM vSOPHdr HDR
WHERE HDR.SOPTYPE = 2 AND
(CASE WHEN HDR.SLPRSNID <> 'All'
then HDR.SLPRSNID in (''+@SP+'')
else HDR.SLPRSNID between '0' and 'ZZZZZZZZZZZZZZZ'
end)
Я пытаюсь запустить вышеуказанный запрос в анализаторе запросов sql, но получаю «синтаксические» ошибки в выражении CASE (около IN, ELSE). Что может быть не так?
Все, что я хочу сделать, это когда sales-personID выбран как ВСЕ в параметре отчета. Я хотел бы обработать всех продавцов, иначе только выбранный идентификатор продавца.
Просто фон о том, что я делаю,
У меня есть запрос, аналогичный приведенному выше запросу (без условия CASE) в наборе данных для отчета SSRS.
Обратите внимание, что @SP — это параметр отчета.