2014-12-03 79 views
1

我是新手,不太了解Mysql。我试图检索某个用户上传的所有媒体,并在上传日期之前对其进行排序。问题是,媒体有三种不同的表格。有人能为我提供一个很好的解决方案吗?按常用字段对多个Mysql查询进行排序

$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']; 
+0

您可能会在这里找到您的答案:http://stackoverflow.com/questions/12890071/select-from-multiple-tables-mysql – Anthony 2014-12-03 21:55:47

+0

有很好的信息,谢谢。 – user3731358 2014-12-03 22:13:22

回答

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子句。

+1

谢谢。我们将按照建议缩小select语句的范围,以此来说明dupe user_id的优点。 – user3731358 2014-12-03 22:14:52

相关问题