I think this might be a simple task and maybe over thinking it.
I am still a newbie so I greatly appreciate any advice or suggestions.
I recommend a Collection when you are wanting to get multiple values returned. The Query list is for a few fields to get values and display them as output values. The collection is good for a copy collection operation of multiple columns so when you do a Collection then I recommend a For each loop to iterate through each intIndex and numCount to set a variable a list has multiple values then you can iterate through each item in the list and set your variable intInex to increment if greater than one item in a list. Also, you will need a vData(Nintex naming convention starts with v for variable so vIndex and vNumCount works above). The data value holds a value for the data in your columns that you want to copy. You can create a site collection with variables to Copy To and To Copy To variables with a variable to be copied stores the columns copied while the work flow is running. It's really a business logic problem to solve. Have you considered the items in your lists and the collection size? I would evaluate those items then decide what is best for your organization size, business rules, and best practices of the business unit too. I am not a know it all. I just give my experience and please feel free to ask a questions. Thank you. Lori