2012-09-24 13 views
0

我有一个表tblCriteria,其中包含一个小记录(< 20)。每个记录都有一个标准字段。如何遍历一小组记录并检索与每个记录中设置的条件相匹配的记录

我想,当要求tblFilterRun SQL通过这些记录移动,筛选主表tblRecords(〜5000个记录),然后插入来自匹配记录一些关键领域到另一个表tblFilterResults

tblCriteria (CriteriaID, CriteriaText) 
tblFilterRun (FilterRunID, FilterRunDate) 
tblFilterResults (FilterResultsID, FilterRunID, RecordID, Ref, CustomerID, SupplierID 
tblRecords (RecordID, CustomerID, SupplierID...) 

以前我会在Access中创建一些东西来迭代每个tblCriteria记录,但我想要一个纯粹的服务器解决方案。我听说过游标(通常同时也是一种亵渎),我有什么选择?

+2

您应该避免在SQL中使用_iteration_。你需要考虑_sets_以及如何查询_sets_数据。 – Oded

回答

0

你不太清楚你需要如何处理tblCriteria中的记录,但是你可以创建一个UDF来完成处理一条记录的工作吗?然后,您可以使用一个查询在每条记录上调用它,如

SELECT * 
FROM tblCriteria 
CROSS APPLY dbo.udf_yourFunction(parameter1, parameter2, etc) 
相关问题