 <p>Making some assumptions and, asserting that joining on the millisecond is nonsensical, <a href="http://sqlfiddle.com/#!9/f4a48/3" rel="nofollow">fiddle here</a>.</p> <pre><code>CREATE TABLE Withdrawl ( Timestamp TIMESTAMP PRIMARY KEY, Amount Decimal(60, 4) ); CREATE TABLE Deposit ( Timestamp TIMESTAMP PRIMARY KEY, Amount Decimal(60, 4) ); SELECT Timestamp, -Amount FROM Withdrawl UNION ALL SELECT Timestamp, Amount FROM Deposit ORDER BY Timestamp ASC; </code></pre> <hr> <p>how about <a href="http://sqlfiddle.com/#!9/f4a48/5" rel="nofollow">this</a>,</p> <pre><code>SELECT Timestamp, Amount, NULL FROM Withdrawl UNION ALL SELECT Timestamp `time stamp`, NULL `amount withdrawal`, Amount `amount deposits` FROM Deposit ORDER BY Timestamp ASC; </code></pre>