我正在一个项目中,我需要编写验证查询来验证数据。
所以我有两个表1.输入表(原始数据)2.输出表(协调数据)
当前,作为验证查询,我正在使用下面的两个查询来获取结果,然后将两个结果都复制到excel文件中以验证数据是否存在差异。
1查询
Select Date,sum(Val),sum(Vol)
From Input_table
Group by Date
2查询
Select Date,sum(Val),sum(Vol)
From Output_table
Group by Date
有什么方法可以将这两个结果都放在一个查询中,还可以创建一个计算列,例如....
(sum(Input_table.VAL)-sum(Output_table.VAL)) as Validation_Check
。因此输出将如下所示:
Date | sum(Input_table.Val) | sum(Output_table.Val) | Validation_Check
谢谢。
最佳答案
看来您需要像这样完全加入您的结果:
select
ifnull(I.[Date], O.[Date]) as Date,
I.Val as Input_Val,
O.Val as Output_Val,
ifnull(I.Val, 0) - ifnull(O.Val, 0) as Validation_Check
from
(
Select Date,sum(Val) as Val,sum(Vol) as Vol
From Input_table
Group by Date
) as I
full outer join
(
Select Date,sum(Val) as Val,sum(Vol) as Vol
From Output_table
Group by Date
) as O on O.[Date] = I.[Date]
关于mysql - 如何在一个SQL查询中合并两个SQL结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42780818/