按日期匹配-完全匹配和不匹配

时间:2018-09-28 22:23:13

标签: sql function join

我正在尝试从两个具有日期的表中查找ID值。.我正在尝试按日期匹配值。...可以帮我吗。在表中,我添加了匹配的列,仅供参考...因此,我要寻找的结果是与表2按日期匹配的值计数,与表2匹配的值和与日期不匹配的值计数

我还要计算按日期与该日期的总值(不同的值)匹配的值的百分比,按日期与该日期的总值(不同的值)不匹配的值的百分比/ p>

表1

Date    ID  Matching
1-Sep   103 103
1-Sep   102 102
1-Sep   101 NA
4-Sep   105 105
4-Sep   106 106
5-Sep   101 NA
5-Sep   104 NA
5-Sep   106 NA
5-Sep   199 199
5-Sep   200 200

表2

Date    ID
1-Sep   102
1-Sep   103
4-Sep   105
4-Sep   106
5-Sep   199
5-Sep   200

1 个答案:

答案 0 :(得分:0)

您可以通过外部联接获得matching

select t1.id, t1.date, t2.id
from table1 t1 left join
     table2 t2
     on t1.date = t2.date and t1.id = t2.id;

您可以通过以下操作获得百分比匹配:

select count(t2.id) * 1.0 / count(*)
from table1 t1 left join
     table2 t2
     on t1.date = t2.date and t1.id = t2.id;