У меня есть критерии, сохраненные в записях таблицы criteria
, которые я использую для создания динамической строки запроса, которая будет запрашивать таблицу source
, а результаты этого запроса будут вставлены в таблицу destination
,Моя цель - также вставить идентификатор из таблицы criteria
в таблицу destination
, если критерии соответствуют записи в таблице source
.Если найдено несколько записей критериев, я просто вставил бы первую.
Предложение WHERE строится из ИЛИ нескольких разделов вместе, и в каждом разделе критерии имеют вид AND'ed вместе.Примерно так:
insert into destinationTable(col1, col2, col3)
select col1, col2, col3
from sourceTable
where
--' begin generated code'
(a = 525 and b = 324 and c = 4523) -- 'from criteria record 1'
or (d = 'asdf' and e = 3.43) -- 'from criteria record 2'
or (f = 234523 and g = 9823742) -- 'from criteria record 3'
etc...
--' end generated code'
Мне нужно найти способ определить, какой первый раздел ИЛИ соответствует критериям, и вставить соответствующий идентификатор критерия в таблицу назначения. Как это можно сделать?