mysql - 如何快速找出三个表的数据是否一致,并找出异同
问题描述
1.为了快速统计出支付宝的支付方式是否存在漏洞,对支付宝订单的回调建表存储
2.有以下三个表
select notify_id,out_trade_no,trade_no,COUNT(*),notify_time FROM alipay_callback WHERE trade_status = ’TRADE_SUCCESS’ GROUP BY notify_id HAVING COUNT(*) > 1 ORDER BY notify_timeselect notify_id,out_trade_no,trade_no,COUNT(*),notify_time FROM alipay_callback WHERE trade_status = ’TRADE_SUCCESS’ GROUP BY out_trade_no HAVING COUNT(*) > 1 ORDER BY notify_timeselect notify_id,out_trade_no,trade_no,COUNT(*),notify_time FROM alipay_callback WHERE trade_status = ’TRADE_SUCCESS’ GROUP BY trade_no HAVING COUNT(*) > 1 ORDER BY notify_time
3.当上述三个表一致时视为数据正常,如何快速比较三个表,并且找出不一致的数据?
问题解答
回答1:个人建议在你的应用程序里面做,不要把很复杂的逻辑放在sql中,即便sql只要几行而程序要几十行。sql就是存储和查询的地方,程序才是干逻辑的地方,易于实现易于维护易于扩展易于让后人读懂
如果你这个用应用程序来搞,相信没啥问题了吧。如果数据大就按notify_time分批搞