You are here

SQL code snipet, join multi-tables with one column

3 tables(CHART_TEST, CHART_TEST1, CHART_TEST2) need be joined with continious timestamb:

 ID    TIMESTAMP    VALUE
     1    115    456
     4    130    671
     5    190    135
     8    150    934
     9    160    296
     2    120    356
     3    125    556
     6    140    213
     7    145    363
     10    165    358

 ID    TIMESTAMP    VALUE
     1    45    254
     2    60    424
     5    80    123
     6    100    562
     8    150    355
     9    165    673
     3    65    241
     4    70    234
     7    120    356
     10    190    947

 ID    TIMESTAMP    VALUE
     1    50    154
     2    70    224
     5    83    143
     6    95    162
     8    120    255
     9    136    473
     3    32    251
     4    70    354
     7    150    256
     10    170    247

 SQL:

select tmpList.timestamp as t0, tab0.value val0, tmpList.timestamp as t1, tab1.value val1, tmpList.timestamp as t2, tab2.value val2
from (select timestamp from CHART_TEST
union
select timestamp from CHART_TEST1
union
select timestamp from CHART_TEST2
) tmpList
left outer join CHART_TEST tab0 on tmpList.timestamp = tab0.timestamp
left outer join CHART_TEST1 tab1 on tmpList.timestamp = tab1.timestamp
left outer join CHART_TEST2 tab2 on tmpList.timestamp = tab2.timestamp
order by tmpList.timestamp;

 

 output:

 T0    VAL0    T1    VAL1    T2    VAL2
0    637    0     -    0     -
10    721    10     -    10     -
15    148    15     -    15     -
30    786    30     -    30     -
40    900    40     -    40     -
45    456    45     -    45    254
50    556    50     -    50     -
60    135    60     -    60    424
65     -    65     -    65    241
70     -    70     -    70    234
80     -    80     -    80    123
100    123    100     -    100    562
115    347    115    456    115     -
120     -    120    356    120    356
125     -    125    556    125     -
130     -    130    671    130     -
140     -    140    213    140     -
145     -    145    363    145     -
150     -    150    934    150    355
160     -    160    296    160     -
165     -    165    358    165    673
190     -    190    135    190    947

Blog: