An union is a mathematical operation between sets.
This kind of operations requires the two tables to be COMPATIBLE, which means that they have to have the same columns in number and types.
And it’s clearly obvious that you’re trying to make an union between a 3 columns SELECT and 1 column SELECT statements (the LEFT JOIN isn’t adding other 2 columns as you expect cause the SELECT projects the table after the join is made)
solved SQL SELECT statements – different number of columns