title: LiNQ Compare two datatable
body: <p>This question has been asked before, BUT this specific part has not been.
  I have two csv files, 1.csv and 2.csv. </p>
  
  <p>I first covert them both into DataTable
  They both have the same schema:</p>
  
  <pre><code>1.csv
  ID SUBID QTY Value
  a  1     55  TEN
  a  2     5   FIFTH
  b  1     2   TE
  </code></pre>
  
  <p>I need to compare the table above with primary keys {ID, SUBID} mapped with table below with QTY having tolerance of 1 digit off:</p>
  
  <pre><code>2.csv
  ID SUBID QTY Value
  a  1     5  TEN
  a  2     6  FIFTH
  b  1     2  TEN
  </code></pre>
  
  <p>The output should only be the difference datatable and output of the 2.csv values</p>
  
  <pre><code>output.csv
  ID SUBID QTY Value
  a  1     5  
  b  1        TEN
  </code></pre>
  
  <p>Of course this could be done by reading all the values in 1.csv and having a dictionary of {ID, SUBID} -> {QTY, Value} and match that way, but this is a huge list and the time complexity is going to be huge. 
  I was wondering if there is a way to do this through LiNQ ie get 1.csv {ID,SUBID} match with 2.csv {ID,SUBID} and traverse through the data table if any mismatch of {QTY - tolerance of over 1 # OR str(Value) difference} put it in a new datatable.   </p>