Join data tables question

Lets assume following:

arrAVals = {“1”,“2”}
arrFVals = {“5”,“6”}

we can create described output by:

dtResult =

(From d  in dt2.AsEnumerable
Where arrAVals.Contains(d("F").toString.Trim)
Where  arrBVals.Contains(d("Q").toString.Trim)
Select r = d).CopyToDataTable

Empty filter result we do handle as:
:ambulance: :sos: [FirstAid] Handling of The source contains no DataRows exception - News / Tutorials - UiPath Community Forum

For sure arrAVals, arrBVals we let create dynamicly

The second description differs from origin case description as it talks about dates which we would handle different in the details

From first description we dont see any rules for calculating e.g. the block of 4 in the A values 1,2,4

was setup a as a result of d1.A=d2.F AND d1.C = d2.Q as with this rule the 4 is blocked
But this would also lead that now the case can also look directly to dt1 rows for this match evaluation

About joining let us introduce. Setting rows from left side / right side datatable into a relation we have different cases: a match, datajoins, lookups. Your case looks closest to a match case which can be done by filtering