A merge of two Select processes gives unexpected results

Problem or error: When two Select processes are merged using the Match (AND) on include option in the Merge process, the results do not equal the results from an equivalent single Select process.

Solution: This behavior is correct and may occur when data is not normalized.

Working against non-normalized data, a Merge with Match (AND) on include of two separate Select processes has a meaning different from a single Select process using two criteria in a Select IDs with option. Use the appropriate flowchart implementation for the desired behavior in your business case.

The following images illustrate how non-normalized data can cause this behavior.

The first example shows a single Select process with two criteria in a Select IDs with option run against non-normalized data. A row of data must satisfy all conditions to be included in the results. The meaning of this Select is "Return a list of unique customer IDs with Phone_OptIn and Mail_OptIn both equal to Y for the same account."



The following example shows what happens when each condition is run separately in a different Select process to retrieve lists of IDs, and the IDs are merged using the Merge process with the Match (AND) on include option. The results can be different from a comparable single Select process because although each ID needs to satisfy the independent conditions (each condition implemented in a separate Select process), the conditions are not necessarily satisfied with the same row of data.

The meaning of these two Selects is "Return a list of unique customer IDs where at least one account for that customer has Phone_OptIn equal to Y; return a second list of unique IDs where at least one account for that customer has Mail_OptIn equal to Y." Next, the Merge process performs an intersection of the two result sets, meaning "Return a list of customer IDs that appear in both of the Select result sets," which is not the same as the Select IDs with condition in the single Select illustrated in the first example.