I have 3 tables like below.
T1
id, count
1, 10
2, 20
3, 30
T2
id, status
1, 100
2, 200
3, 300
4, 400
T3
id, refresh
2, 2000
3, 3000
I want to convert all these table's 2nd columns into one result set.
id, count, status, refresh
1, 10, 100, NULL
2, 20, 200, 2000
3, 30, 300, 3000
4, NULL, 400, NULL
Im not sure still full outer join supports this format. Any better way to do this?
Answer:
Since its closed, so posting the answer here:
SELECT COALESCE(T1.id, T2.id , T3.id), T1.count,T2.status,T3.refresh
FROM T1
LEFT OUTER JOIN T2 USING (id)
LEFT OUTER JOIN T3 USING (id)
UNION
SELECT COALESCE(T1.id, T2.id , T3.id), T1.count,T2.status,T3.refresh
FROM T2
LEFT OUTER JOIN T1 USING (id)
LEFT OUTER JOIN T3 USING (id)
UNION
SELECT COALESCE(T1.id, T2.id , T3.id), T1.count,T2.status,T3.refresh
FROM T3
LEFT OUTER JOIN T1 USING (id)
LEFT OUTER JOIN T2 USING (id)