У меня есть запрос SQL к нескольким таблицам (все ВНУТРЕННИЕ СОЕДИНЕНИЯ).
Ниже приведен пример запроса, который я пытаюсь выполнить (? - это проиллюстрируем позицию, в которой я предполагаю, что ответ на мой вопрос будет исправлен).
Case
(
SELECT Count(ID)
FROM CPD_Candidates cpdCan
WHERE
cpdCan.CandidateID = can.CandidateID
AND
(
cpdCan.DateEnded >= GETDATE()
OR
coalesce(cpdCan.DateEnded, '') = N'1-Jan-1900'
)
AND
cpdCan.Deleted <> 1
)
When ? > 0 then 'Bigger' else 'Equal or Smaller' End
)
Идея, изложенная выше, заключается в том, что вместо ? фактическое значение, которое я хочу сравнить значение против будет Count(ID)
, если оно больше 0, я хочу, чтобы он ВЫБРАЛ «Больше», в противном случае он должен ВЫБРАТЬ «Равно или Меньше». Таким образом, более точное описание того, что я буду sh запускать, будет ниже.
Case
(
SELECT Count(ID)
FROM CPD_Candidates cpdCan
WHERE
cpdCan.CandidateID = can.CandidateID
AND
(
cpdCan.DateEnded >= GETDATE()
OR
coalesce(cpdCan.DateEnded, '') = N'1-Jan-1900'
)
AND
cpdCan.Deleted <> 1
)
When
Count(cpdCan.ID) > 0 then 'Bigger' else 'Equal or Smaller' End
)
Конечно, есть синтаксическая ошибка выше, но я спрашиваю, можно сравнить, как в приведенной выше структуре запроса SQL, но заменив Count(cpdCan.ID) > 0
другими средствами для достижения этого значения & logi c?
Если это невозможно в SQL Server 2016
, что другие средства были бы лучшим решением для этого XY
?