У меня есть этот код, который является частью хранимой процедуры
INSERT INTO #TempTable
/* A few subqueries, about 100 lines */
WHERE (cartera.ClaSucursal = @pIdSucursal OR @pIdSucursal = -1)
AND (cartera.ClaAsesorActual =
CASE
WHEN @pIdAsesor > 0 THEN @pIdAsesor
WHEN @pIdAsesor = 0 THEN NULL
END
OR @pIdAsesor = -1)
/* Rest of my code, about 200 lines */
SELECT * FROM #TempTable
В основном у меня есть параметр с именем @pIdAsesor
, и в зависимости от его значения возможны три результата.
@pIdAsesor = -1
, который приносит мне все записи независимо от значения Id @pIdAsesor = sumId
, который приносит мне все записи с данным Id @pIdAsesor = 0
, что приводит ко всем записям с NULL как Идентификатор
Результаты 1 и 2 работают безупречно, но сценарий 3 не возвращает результатов.