我正在一个项目中,我需要编写验证查询来验证数据。

所以我有两个表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/

10-16 07:37