In a Facebook-like notification system I have three tables, like this....

`table1`

```
________________________________
| id |  value_1  |  timestamp  |
|----|-----------|-------------|
| id |  value21  |  2014-05-21 |
| id |  value22  |  2014-05-22 |
|____|___________|_____________|

```

`table2`

```
________________________________
| id |  value_2  |  timestamp  |
|----|-----------|-------------|
| id |  value30  |  2014-05-30 |
|____|___________|_____________|

```

`table3`

```
________________________________
| id |  value_3  |  timestamp  |
|----|-----------|-------------|
| id |  value01  |  2014-05-01 |
| id |  value27  |  2014-05-27 |
|____|___________|_____________|

```

To return all these data in one row, I used SQL union...

```
(SELECT value_1  FROM table1)
UNION
(SELECT value_2  FROM table2)
UNION
(SELECT value_3  FROM table3)

```

...but it brings it all together in one column. Instead of that, I need the result to be in a table like this,
**in order of Timestamp** 

```
________________________________________________________
| id |  value_1  |  value_2  |  value_3  |  timestamp  |
|----|-----------|-----------|-----------|-------------|
| id |  null     |  null     |  value01  |  2014-05-01 |
| id |  value21  |  null     |  null     |  2014-05-21 |
| id |  value22  |  null     |  null     |  2014-05-22 |
| id |  null     |  null     |  value27  |  2014-05-27 |
| id |  null     |  value30  |  null     |  2014-05-30 |
|____|___________|___________|___________|_____________|

```

Is it possible to do, only with SQL without handing over the job to the PHP engine?
Any ideas appreciated.