I have a issuse in sql query.
I have 2 select:
The first one showing:
columnA|columnB A |2 B |3 D |5
The other one showing:
columnA|columnC
     A   |1
     B   |5
     C   |7
I’m tying to merge this tow query,
this is my query:
with cte1 as ( select A,B from table1 group by A ), cte2 as ( select A,C from table2 group by A ) select c1.A, c1.B, c2.C from cte1 c1 left join cte2 c2 on c2.A = c1.A order by c1.A asc
The problem is when I’m using “Left join” the result is :
ColumnA|ColumnB|ColumnC A |2 |1 B |3 |5 D |5 |null
It’s not showing the value C for the second table,
And whene I’m using “right join” the result is :
ColumnA|ColumnB|ColumnC A |2 |1 B |3 |5 C |null |7
It’s not showing the value D for the first table,
The result should be like that:
 ColumnA|ColumnB|ColumnC
    A      |2      |1
    B      |3      |5
    C      |null   |7
    D      |5      |null
any solution please
Advertisement
Answer
Use full outer join
select coalesce(table1.ColumnA,table2.ColumnA) as ColumnA,
       ColumnB,ColumnC  
from table1 full outer join table2 on table1.ColumnA=table2.ColumnA