我有一个相当丑陋的查询,然后使用php将查询结果进行后处理,将每行都转换为它自己的多维数组。在多维数组中比较差异
我想重构查询,但需要确保我不会以任何方式更改它返回的内容。
所以我想要做的是复制原始查询并调用它,存储结果。 然后用我的新查询再次运行该函数。
将两个数组结果进行循环并比较它们之间的差异(键,值,缺失条目,类型差异等)。
这样做最简单的方法是什么?
基本上我知道怎么称呼这两个查询等,
我想我真正的问题是,在最后一次,我有我的结果我怎么去通过并加以比较的两个数组。
我最想结束的是一个并排“print_r”类型的输出,带有红线或类似的突出显示任何差异的输出。
这* *可能*回答如何在SQL中进行重构,但它没有解决如何确定最终结果是否相同。 –
在底部添加了更多信息以使问题更清晰 – Hailwood
噢,如果您想比较两个查询的结果,您可以使用'TEMPORARY TABLE',在这里您可以查询'WHERE result_a!= result_b',给定A和B为填充你的结果。你可以用'INSERT INTO temp_table(SELECT ...)'然后'INSERT IGNORE INTO temp_table(SELECT ...)ON DUPLICATE KEY SET ...'来建立这些,但是它会变得很混乱。与此相比,在应用程序层中组合两个不同的查询并不是一个可怕的想法。 – tadman