Further to your comment to Solution 1... as an alternative you could use
UNION (Transact-SQL) - SQL Server | Microsoft Docs[
^]
Note that UNION ALL selects all rows, but UNION will remove the duplicates for you e.g. with this simple test data
declare @table1 table (col1 int, col2 int, col3 int, col4 int)
insert into @table1 (col1, col2,col3,col4) values
(1,2,3,4),(2,3,4,5),(3,4,5,6),(4,5,6,7)
declare @table2 table (col1 int, col2 int, col3 int, col4 int)
insert into @table2 (col1, col2,col3,col4) values
(1,2,3,4),(2,3,4,5),(3,4,5,6),(5,5,6,7)
declare @table3 table (col1 int, col2 int, col3 int, col4 int)
insert into @table3 (col1, col2,col3,col4) values
(1,2,3,4),(2,3,4,5),(3,4,5,6),(4,5,6,8)
declare @table4 table (col1 int, col2 int, col3 int, col4 int)
insert into @table4 (col1, col2,col3,col4) values
(1,2,3,4),(2,3,4,5),(3,4,5,6),(4,5,6,7)
this query
select * from @table1
union all
select * from @table2
union all
select * from @table3
union all
select * from @table4
returns the results
col1 col2 col3 col4
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
1 2 3 4
2 3 4 5
3 4 5 6
5 5 6 7
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 8
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
but
select * from @table1
union
select * from @table2
union
select * from @table3
union
select * from @table4
returns
col1 col2 col3 col4
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
4 5 6 8
5 5 6 7
The next problem is if you have other columns in these tables that you want to retain, or if you want to retain 4 tables. If that is the case then you will need to provide more information - a minimum of some sample data and expected results