【发布时间】:2019-04-04 04:03:05
【问题描述】:
我有以下代码,用于在需要满足四个条件(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 的庞大数据集,需要不满足什么条件,这样我才能确定这两个表有什么区别。此外,有没有办法将范围设置在百分比的小数位内,因此由于百分之一的百分比差异,它不会显示为两个表之间的差异。谢谢
【问题讨论】:
-
您的预期输出是什么,您希望如何报告部分匹配?
-
如果您从联接中删除条件,那么您可以从新结果中选择条件作为布尔值并将其用作子查询组并在这些布尔列上聚合。不过,您不清楚所需流程的输入和输出到底是什么。请提供minimal reproducible example 输入和所需的输出和明确的规范。
标签: sql sql-server left-join multiple-conditions