Вы ищете Динамический SQL .
Предположим, у вас есть таблица tableA
с условиями, где:
create table tableA (condition varchar(max));
insert into tableA values ('columnB1 > 0'), ('columnB2 <> ''Me''');
И tableB
,Таблица, к которой мы будем применять эти условия:
create table tableB (columnB1 int, columnB2 varchar(10));
insert into tableB values (-1, 'Not me'), (1, 'Me');
Теперь вы можете использовать динамический SQL, он создаст отдельный запрос для каждой строки в @tableA
:
declare @sql varchar(max) = '';
select @sql = @sql + ' select * from MY_DATABASE.dbo.tableA where ' + condition
from tableA
exec(@sql)