Alternatively, you can run them as two separate models, but I doubt you want to execute the models particularly in that fashion. The best way to get this done will be to create a python script and execute which has the workflow lined up as per your requirement.

Thanks for your suggestion. The first model works properly and returns N output tables; if I apply the merge tool to the output tables it works, too, but for some reason I cannot combine the two into one model in order to automatize the process.

If they do you can simply use the Append—Help | ArcGIS Desktop instead the merge. Maybe, the merge doesn't play well with the first half of the model. Besides append is the best way to go when it comes to merging data with same schema.

You are almost correct. You have correctly identified that your main model with the iterator needs to be a sub-model in a model with a single Merge tool. Merge takes a LIST of inputs which you merge. So how do you create a LIST of tables? There is the model only COLLECTS VALUES tool. Tag that to the end of your output table IN you sub-model and expose it's output as a parameter. Drag that sub-model into a new model with just a merge tool and you will see that the sub model has a LIST output which simply connects to the input parameter of Merge.

Thanks for your suggestion! It still doesn't work, as it seems that the fact that during the model the variable 'out_stats_%N%.dbf' is manipulated several times generates some kind of conflict when I run it as submodel. I cannot set them as intermediate variable (which I guess would solve the problem); I have read in some other post that that would be possible by setting the environment, but I am not so far with Model Builder and I would not know what to change. I would be very grateful if you could help me!

OK I needed you to tell us this as from that screen shot it could have potentially been a file geodatabase workspace and you cannot have a ".dbf" at the end of a file geodatabase table.

Looking at the model it seems OK to me so all I can suggest is you replace the table name from 'out_stats_%N%.dbf' to 'out_stats_%Name%.dbf' where %Name% is coming from the iterator. I suggest this as I am guessing that %n% never increments with an iterator?