MySQL UNION print every other

MySQLsql

How can I make a sql query like the following:

(SELECT `name` FROM table1)
UNION
(SELECT `name` FROM table2)

return each other. Ie. name1 from table1, name1 from table2, name2 from table1, name2 from table2 and so on?

Edit:
Table1

name
Hello
world

Table2

name
guten
tag

The output wanted:

Hello
guten
world
tag

and this should also be possible if adding more unions, so that it takes from the first union, then the second, third, forth and so on.

Best Answer

Does this work?

set @i = 0;
set @j = 1;

select  @i:=@i+2 as rownumber,
        name
from    table1

union

select  @j:=@j+2 as rownumber,
        name
from    table2

order by rownumber

I read your question as wanting to alternate one row from table1, one from table2 and so on in your results set.

Edit in light of your edit:

Change the "2"s to the number of tables, and add as many variables as you have tables, with consecutive start values in the "set" statements. This will extend in the way you want.