我们如何比较coldfusion中的两个Query结果集

时间:2009-12-30 05:34:25

标签: coldfusion

我需要在coldfusion中构建一个泛型方法来比较两个查询结果集......任何想法???

2 个答案:

答案 0 :(得分:7)

如果您只是想确定两个查询是否完全 ,那么您可以这样做:

if(serializeJSON(query1) eq serializeJSON(query2)) ...

这会将两个查询转换为字符串并比较字符串。

如果你正在寻找更多的细微差别,我相信Sergii的方法(转换为struct,比较键)可能是正确的方法。您可以通过先添加简单检查来“保护”它......列列表是否匹配?记录数量是否相同?这样,如果其中任何一个检查失败,您就知道查询可能不等同,因此返回false是安全的,从而避免了完全比较的性能损失。

答案 1 :(得分:0)

如果我理解正确,你有两个结构相同但数据集不同的结果集(比如选择不同的子句)。

如果这是正确的,我相信更好(更有效)的方法是尝试在数据库级别上解决此任务。也许使用临时/累积表和/或存储过程。

使用CF几乎肯定需要大量的循环,这对于大型数据集来说是不合适的。虽然我为使用中间存储的小数据集做了类似的事情:将一个结果集转换为结构,并通过检查结构键循环第二个查询。