У меня есть ниже 4 свойств в классе фильтра. Я собираюсь проанализировать ниже 4 свойства в StoredProcedure и получить отфильтрованный результат.
/// <summary>
/// Gets and sets comma seperated condition ids.
/// Patients must have all these conditions in order to satisfy the filter.
/// </summary>
public string MustHaveAllConditions { get; set; }
/// <summary>
/// Gets and sets comma separated condition ids.
/// Patients must not have all of these conditions in order to satisfy the filter.
/// </summary>
public string MustNotHaveAllConditions { get; set; }
/// <summary>
/// Gets and sets comma separated condition ids.
/// Patients must have at least one of these conditions in order to satisfy the filter.
/// </summary>
public string MustHaveAtLeastOneCondition { get; set; }
/// <summary>
/// Gets and sets comma separated condition ids.
/// Patients must not have at least one of these conditions in order to satisfy the filter.
/// </summary>
public string MustNotHaveAtLeastOneCondition { get; set; }
Моя хранимая процедура будет иметь четыре параметра, как показано ниже.
Например:
@ * MustHaveAll * Условия = "1,2"
@ * MustNotHaveAll * Условия = "3,4"
@ * MustHaveAtLeastOne * Состояние = "5,6,7,8"
@ * MustNotHaveAtLeastOne * Состояние = "9, 10"
Я использую UDF, который возвращает таблицу со столбцом Ids.
Мой вопрос:
Обычно я могу использовать оператор SQL «IN» для поиска пациентов, у которых есть хотя бы одно условие (например: @MustHaveAtLeastOneCondition) и комбинация операторов «NOT IN» для фильтрации @ MustNotHaveAnyConditions.
Существуют ли операторы SQL (или способы esay) для фильтрации параметров MustHaveAllConditions, MustNotHaveAllConditions?