As others already stated your results strongly indicate that your 2 tables are not matching over the keys used. The variables must be of the same type (character or numeric) for matching, e.g. a.cycle_PK and b.cycle_IF must both be either numeric or both character. The format is not relevant. If the variables are character then leading blanks or different casing are treated as different strings (= no match). For character variables try adding something like "upcase(strip(a.cycle_PK)) = upcase(strip(b.cycle_IF))". For numeric variables with floating point values and the source tables coming from some data base what can happen is a very small "imprecision" when transferring the values from one environment to the other. So here try and use a round() function and see if this makes a difference, eg. "round(a.cycle_PK,0.0000000001) = round(b.cycle_IF,0.0000000001)".
... View more