Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atividades recentes do usuário - PHP MySQL


Uma consulta MySQL UNION pode funcionar aqui:
(SELECT `user_id`, `date_added`, 'photo' AS `type` FROM `photos` WHERE `user_id` = uid) UNION
 (SELECT `user_id`, `date_added`, 'video' AS `type` FROM `videos` WHERE `user_id` = uid) UNION
 (SELECT `user_id`, `date_added`, 'comment' AS `type` FROM `comments` WHERE `user_id` = uid)
 ORDER BY `date_added` DESC;

Então você terminaria com um conjunto de resultados como
user_id | date_added | type
    5   | 2009-01-03 | photo
    5   | 2008-12-07 | video
    5   | 2008-11-19 | comment

e assim por diante. (na verdade, você pode deixar user_id fora do SELECT se você quiser, é claro)