多个SELECT FROM多表和按日期排序

I am looking a way to select multi data from multi tables WHERE uid = :uid and sort them by data.

some thing like this :

SELECT * FROM
    (SELECT * from comments) AND
    (SELECT * from likes) AND
    (SELECT * from photos) AND
    (SELECT * from messages) WHERE uid = :uid ORDER BY date LIMIT 30

Actually, in a profile timeline I need to show likes , comments , photos and ... And all of these parts should be sort by date with limitation ...

EDIT :

Select cid,comment,pid,date from `ctg_comments` where uid = 69
UNION
Select pid,date from `ctg_likes` where uid = 69
UNION
Select address,postid,date from `ctg_photos` where byuid = 69
UNION
Select postid,date from `ctg_reservation` where uid=69
Order by date limit 30

I need some of every table column but they are not same to use UNION .

Thanks .

Select * from comments where uid=:uid
UNION
Select * from likes where uid:uid
UNION
Select * from photos where uid:uid
UNION
Select * from messages where uid:uid
Order by date limit 30

This solution requires that the columns from each tables are of same type, the resultset will take the columns names of the first table. If only one or two columns differs on each table, you can just extract the similar columns by naming them instead of extracting all columns : http://dev.mysql.com/doc/refman/5.7/en/union.html

Extracting all columns with * is usually frowned on, because your code become unreadble without knowledge of the database. And it might extract more data than needed.

With your data structure you might want to try this (I guessed the column type, so correct it if needed) :

Select 'comment' as type, 'none' as address, cid, comment, pid, date from `ctg_comments` where uid = 69
UNION
Select 'like' as type, 'none' as address, -1 as cid, 'none' as comment, pid, date from `ctg_likes` where uid = 69
UNION
Select 'photo'as type, address, -1 as cid, postid as pid, 'none' as comment, date from `ctg_photos` where byuid = 69
UNION
Select 'reservation' as type, 'none' as address, -1 as cid, postid as pid, 'none' as comment, date from `ctg_reservation` where uid=69
Order by date limit 30

I added a type column so it is easier to deal with in php after (you just test this field with a switch case instead of testing if address == 'none' or cid == -1 ...).