遗留多个火葬场,如何知道不符合哪些条件

时间:2018-10-31 03:09:53

标签: sql sql-server left-join multiple-conditions

对于以下四个需要满足的条件,我具有以下左连接代码:Id,Contract_Type,Sub_Contract_Number和Percentage。

我有以下Left Join语句:

select a.* from table_1 as a
left join table_2 as b
on a.id = b.id
and a.Contract_Type = b.Contract_Type
and a.Sub_Contract_Number = b.Sub_Contract_Number
and a.Percentage = b.Percentage

样本数据:

Table 1
1    G7   12   .40
1    G7   13   .60

Table 2
1    G7   18   .39
1    G1   13   .61

如何确定左联接未满足哪个条件?我有一个具有9000+个不同ID的庞大数据集,并且需要满足不满足什么条件的条件,因此我可以确定两个表之间的区别是什么。另外,有一种方法可以将百分比范围设置为小数点后一位,因此由于百分比差异为1,所以它不会显示为两个表之间的差异。谢谢

1 个答案:

答案 0 :(得分:0)

可以通过对查询的简单修改来回答问题的第二部分:

select a.*
from table_1 a left join
     table_2 b
     on a.id = b.id and
        a.Contract_Type = b.Contract_Type and
        a.Sub_Contract_Number = b.Sub_Contract_Number and
        a.Percentage >= b.Percentage - 0.01 and
        a.Percentage <= b.Percentage + 0.01 ;

对于问题的第一部分,我建议您再提出一个问题。提供所需结果。目前尚不清楚您要做什么。