我是 MySQL 用户。我有两个疑问,我想比较他们的结果是否相等。我想用一个返回 true 或 false 的查询来完成此操作,因此我的两个查询很可能采用子查询的形式。
我想避免返回两个查询的结果并在应用程序级别比较它们,以减少通信并提高性能。如果可能的话,我还想避免在数据库级别循环结果,但如果没有其他方法,那就这样吧。
我到处寻找有关如何执行此操作的示例,但却空手而归。一些示例代码我将非常感激,因为我是 SQL 编程的新手。谢谢!
Note:我正在寻找一种适用于任何两个任意查询的解决方案,因此我将避免发布我的两个查询恰好是什么。
SELECT
CASE WHEN count1 = count2 AND count1 = count3 THEN 'identical' ELSE 'mis-matched' END
FROM
(
SELECT
(SELECT COUNT(*) FROM <query1>) AS count1,
(SELECT COUNT(*) FROM <query2>) AS count2,
(SELECT COUNT(*) FROM (SELECT * FROM query1 UNION SELECT * FROM query2) AS unioned) AS count3
)
AS counts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)