tsql - Why using COUNT with SELF JOIN gives different result value -
can explain me why if use self join , count gives me different result using count command? same table controlno column. value in column not unique. query gives me total counts 15586.
select (select count(controlno) tblquotes q1 q1.controlno = a.controlno ) quotedtotal tblquotes inner join lstlines l on a.lineguid = l.lineguid l.linename = 'earthquake' , year(effectivedate) = 2016 but then, if run query gives me total counts of 15095.
select count(controlno) quotedtotal tblquotes inner join lstlines l on a.lineguid = l.lineguid l.linename = 'earthquake' , year(effectivedate) = 2016 what changing total amount , why? , why use first scenario? , way modify first query sum of 15586 without breaking down each row? thank
it seems because field controlno not unique , there records sharing value, although not of them join against lstlines table condition. last query does:
select count(a.controlno) lstlines l inner join tblquotes on a.lineguid = l.lineguid l.linename = 'earthquake' , year(effectivedate) = 2016 while first 1 does:
select count(b.controlno) lstlines l inner join tblquotes on a.lineguid = l.lineguid inner join tblquotes b on a.controlno = b.controlno l.linename = 'earthquake' , year(effectivedate) = 2016 as can see, in second query not counting rows match lstlines table, rows in tblquotes have same controlno match against lstlines.


Comments
Post a Comment