按公共字段对多个Mysql查询进行排序

时间:2014-12-03 21:50:36

标签: mysql

我是新手,并不能很好地理解Mysql。我正在尝试检索某个用户上传的所有媒体,并按照上传日期对其进行排序。问题是,媒体在3个不同的表中。有人能为我提供一个好的解决方案吗?

$sql1 = "SELECT * FROM videos WHERE user_id = $user_id";
$sql2 = "SELECT * FROM photos WHERE user_id = $user_id";
$sql3 = "SELECT * FROM audios WHERE user_id = $user_id";

SORT DESC BY $result['upload_date'];

1 个答案:

答案 0 :(得分:1)

您想要创建JOIN。如果您只想要存在关系的行,则可以使用内部联接,如下所示设置:

SELECT *
FROM videos v
JOIN photos p ON p.user_id = v.user_id
JOIN audios a ON a.useR_id = p.user_id
ORDER BY upload_date DESC;

以上将选择所有列,这可能有一些重复的事情。例如,我相信user_id会为您加入的每个表格显示一次,因此我会缩小您的select子句。