In an earlier post , we have seen how using group_concat() function we can group all the values of a column into comma separated array/list of values.
Please see the picture below:
On doing a group_concat(eligibility_file_staging_complete_id), we get the values in all the rows into a single row.
Example query:
select group_concat(eligibility_file_staging_complete_id)into @v_staging_id_list from temp_multiple_mc_complete;
select @v_staging_id_list;
Now, our requirement is to find each ID from another table and do some operation if the match is found.
We can use the FIND_IN_SET() function for this.
Example query:
select efsc.eligibility_file_staging_complete_id as reference_id, efsc.* from
eligibility_file_staging_complete as efsc
where find_in_set(efsc.eligibility_file_staging_complete_id , @v_staging_id_list)
and file_id = v_file_id;
The above query will pick only those rows that are in the array @v_staging_id_list.
Please like us on Facebook or LinkedIn if you find our blog helpful.
Please see the picture below:
Array elements distributed over 5 different rows and needs to be merged |
On doing a group_concat(eligibility_file_staging_complete_id), we get the values in all the rows into a single row.
Example query:
select group_concat(eligibility_file_staging_complete_id)into @v_staging_id_list from temp_multiple_mc_complete;
select @v_staging_id_list;
Merge all columns into a single array using group_concat() function |
Now, our requirement is to find each ID from another table and do some operation if the match is found.
We can use the FIND_IN_SET() function for this.
Example query:
select efsc.eligibility_file_staging_complete_id as reference_id, efsc.* from
eligibility_file_staging_complete as efsc
where find_in_set(efsc.eligibility_file_staging_complete_id , @v_staging_id_list)
and file_id = v_file_id;
The above query will pick only those rows that are in the array @v_staging_id_list.
Please like us on Facebook or LinkedIn if you find our blog helpful.