【发布时间】:2011-01-17 23:24:08
【问题描述】:
我在criteria 表的记录中保存了条件,我用它来创建一个动态查询字符串,该字符串将查询source 表,该查询的结果将插入到destination 表中.如果条件与source 表中的记录匹配,我的目标是将criteria 表中的ID 插入destination 表中。如果匹配多个条件记录,我只需插入第一个。
WHERE 子句由多个部分OR'ing 构建而成,并且在每个部分中,条件是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'
我需要找到一种方法来确定哪个是第一个匹配条件的 OR 部分,并在目标表中插入相应的条件 id 怎么做?
【问题讨论】:
标签: sql sql-server sql-server-2005 sql-server-2008