如何显示另一个表数据行排序的表数据?

时间:2016-02-02 22:22:18

标签: php mysql

我有视频 watch_later MYSQL表格,我想在 watch_later

中排序的页面中显示视频数据strong> date,我当前的视频表格如下

settings.gradle

我当前的 watch_later 表格如下所示

id  |  name         | views
1   |  funny video  | 40
2   |  sad video    | 20

我已尝试从按日期排序的 watch_later 表格中选择所有ID,然后从视频表格中选择所有数据,其中ID为IN(之前的ID),但不会t为我提供 watch_later 日期订购的视频数据。

(如果我没有意义,我只想稍后再观看YouTube系统。)

2 个答案:

答案 0 :(得分:3)

您必须使用JOIN语法执行查询:

"SELECT videos.*, watch_later.date 
 FROM videos 
 JOIN watch_later ON videos.id=watch_later.video_id
 ORDER BY watch_later.date DESC"

如果您希望按升序排序,请将DESC替换为ASC

使用此查询,您将从videos表中选择date字段和watch_later

有多种JOIN方法:如果您想学习它,请查看w3schools

编辑:

由于videos字段,我选择选择watch_later.date watch_later.id的所有字段:事实上,使用SELECT *语法使这些字段被以下具有相同名称的字段覆盖,导致 - 在这种特定情况下 - 结果中丢失videos.id

答案 1 :(得分:2)

只需要在video_id字段中加入表:

SELECT * FROM videos INNER JOIN watch_later 
  ON videos.id=watch_later.video_id 
  ORDER BY watch_later.date dESC