Join and sort by different columns

I want to create a newsfeed system like facebook’s.

The basic structure =====

users TABLE w/ user_id INT, username CHAR
posts TABLE w/ post_id INT, user_id INT, posted_on DATETIME
likes TABLE w/ user_id INT, post_id INT, liked_on DATETIME

What I want to do =====

SELECT * FROM users LEFT JOIN posts USING (user_id) LEFT JOIN likes USING (user_id) WHERE user_id = 1 ORDER BY…

and then order by the respective DATETIME columns for each table

Thank you =====

no idea how to do this with mySQL…any help would be greatly appreciated

Thank you for your response, r937, it works perfectly. I implemented it for my newsfeed system on RefuteMe.com . Thanks again.

SELECT users.username
     , 'posted'               AS action
     , posts.post_id          AS id
     , posts.posted_on        AS on_date
  FROM users
INNER
  JOIN posts
    ON posts.user_id = users.user_id
 WHERE users.user_id = 1
UNION ALL
SELECT users.username
     , 'liked'                AS action
     , likes.post_id          AS id
     , likes.liked_on         AS on_date
  FROM users
INNER
  JOIN likes
    ON likes.user_id = users.user_id
 WHERE users.user_id = 1
ORDER
    BY on_date DESC

SELECT * 
FROM users 
LEFT JOIN posts 
USING (user_id) 
LEFT JOIN likes 
USING (user_id) 
WHERE users.user_id = 1 
ORDER BY
    posts.posted_on
  , likes.liked_on

Unfortunately, that code doesn’t work. Here’s what it’s doing: it’s combining the likes with the posts in the same rows. I need them in different rows based on the date columns (posts.posted_on and likes.liked_on). There will eventually be more options than posting and liking, such as friending, following, etc. which I will also incorporate into this query, but the basic query syntax should hold for that as well once I get to it