I have 3 tables like below. In which id, fcd, ref columns are common across table, I am trying to combine all tables columns table into single table.
MariaDB [test]> select * from t1;
+----+-----+-----+------+------+
| id | fcd | ref | c1 | c2 |
+----+-----+-----+------+------+
| 1 | 1 | 1.0 | 0.10 | 2.00 |
| 1 | 2 | 1.5 | 0.40 | 2.22 |
| 3 | 1 | 2.0 | 0.10 | 4.30 |
| 3 | 2 | 3.2 | 0.01 | 6.60 |
| 5 | 3 | 7.5 | 0.00 | 7.70 |
+----+-----+-----+------+------+
5 rows in set (0.001 sec)
MariaDB [test]> select * from t2;
+----+-----+------+------+------+
| id | fcd | ref | c3 | c4 |
+----+-----+------+------+------+
| 1 | 1 | 1.00 | 0.06 | 0.76 |
| 1 | 2 | 1.20 | 0.32 | 0.87 |
| 5 | 2 | 6.50 | 0.44 | 0.09 |
| 5 | 3 | 6.68 | 0.47 | 0.08 |
+----+-----+------+------+------+
4 rows in set (0.001 sec)
MariaDB [test]> select * from t3;
+----+-----+-----+------+------+
| id | fcd | ref | c5 | c6 |
+----+-----+-----+------+------+
| 1 | 3 | 1.1 | 0.02 | 0.12 |
| 1 | 4 | 2.0 | 0.23 | 0.11 |
| 7 | 1 | 3.2 | 0.45 | 0.43 |
| 7 | 2 | 7.5 | 0.54 | 0.67 |
+----+-----+-----+------+------+
4 rows in set (0.000 sec)
This is what I tried using union no luck
MariaDB [test]> select id,fcd,ref,c1,c2,null c3, null c4, null c5, null c6 from t1 union all select id,fcd,ref,null c1, null c2, c3, c4,null c5, null c6 from t2 union all select id,fcd,ref,null c1, null c2, null c3, null c4,c5, c6 from t3 order by id, fcd, ref;
+----+-----+------+------+------+------+------+------+------+
| id | fcd | ref | c1 | c2 | c3 | c4 | c5 | c6 |
+----+-----+------+------+------+------+------+------+------+
| 1 | 1 | 1.00 | NULL | NULL | 0.06 | 0.76 | NULL | NULL |
| 1 | 1 | 1.00 | 0.10 | 2.00 | NULL | NULL | NULL | NULL |
| 1 | 2 | 1.20 | NULL | NULL | 0.32 | 0.87 | NULL | NULL |
| 1 | 2 | 1.50 | 0.40 | 2.22 | NULL | NULL | NULL | NULL |
| 1 | 3 | 1.10 | NULL | NULL | NULL | NULL | 0.02 | 0.12 |
| 1 | 4 | 2.00 | NULL | NULL | NULL | NULL | 0.23 | 0.11 |
| 3 | 1 | 2.00 | 0.10 | 4.30 | NULL | NULL | NULL | NULL |
| 3 | 2 | 3.20 | 0.01 | 6.60 | NULL | NULL | NULL | NULL |
| 5 | 2 | 6.50 | NULL | NULL | 0.44 | 0.09 | NULL | NULL |
| 5 | 3 | 6.68 | NULL | NULL | 0.47 | 0.08 | NULL | NULL |
| 5 | 3 | 7.50 | 0.00 | 7.70 | NULL | NULL | NULL | NULL |
| 7 | 1 | 3.20 | NULL | NULL | NULL | NULL | 0.45 | 0.43 |
| 7 | 2 | 7.50 | NULL | NULL | NULL | NULL | 0.54 | 0.67 |
+----+-----+------+------+------+------+------+------+------+
13 rows in set (0.001 sec)
above one hasn't combined correctly as you can see for 1 | 1 | 1
there is duplicate
this is what I expect
| id | fcd | ref | c1 | c2 | c3 | c4 | c5 | c6 |
|---- |----- |------ |------ |------ |------ |------ |------ |------ |
| 1 | 1 | 1 | 0.1 | 2 | 0.06 | 0.76 | NULL | NULL |
| 1 | 2 | 1.2 | NULL | NULL | 0.32 | 0.87 | NULL | NULL |
| 1 | 2 | 1.5 | 0.4 | 2.22 | NULL | NULL | NULL | NULL |
| 1 | 3 | 1.1 | NULL | NULL | NULL | NULL | 0.02 | 0.12 |
| 1 | 4 | 2 | NULL | NULL | NULL | NULL | 0.23 | 0.11 |
| 3 | 1 | 2 | 0.1 | 4.3 | NULL | NULL | NULL | NULL |
| 3 | 2 | 3.2 | 0.01 | 6.6 | NULL | NULL | NULL | NULL |
| 5 | 2 | 6.5 | NULL | NULL | 0.44 | 0.09 | NULL | NULL |
| 5 | 3 | 6.68 | NULL | NULL | 0.47 | 0.08 | NULL | NULL |
| 5 | 3 | 7.5 | 0 | 7.7 | NULL | NULL | NULL | NULL |
| 7 | 1 | 3.2 | NULL | NULL | NULL | NULL | 0.45 | 0.43 |
| 7 | 2 | 7.5 | NULL | NULL | NULL | NULL | 0.54 | 0.67 |
Please someone help me, don't know how to solve this