Php 如何从多个表中获取数据?

Php 如何从多个表中获取数据?,php,mysql,sql,oracle,Php,Mysql,Sql,Oracle,我正在使用PHP。 我有以下几张表 1)Posts || post_id | post | date_posted || 2) Photo || photo_id | photo | date_posted|| 3) Video || video_id | video | video_link | date_posted|| 我想检索所有表中的所有行,并按发布日期排序 在检索行之后,我想区分哪一行是视频行,哪一行是post行 我该怎么做 SEL

我正在使用PHP。 我有以下几张表

1)Posts

||  post_id  |  post  |  date_posted  ||


2) Photo

||  photo_id  |  photo  |  date_posted||


3) Video

||  video_id  |  video  |  video_link  |  date_posted||
我想检索所有表中的所有行,并按发布日期排序

在检索行之后,我想区分哪一行是视频行,哪一行是post行

我该怎么做

SELECT post_id as id, post as data, date_posted FROM Posts
UNION ALL
SELECT photo_id, photo, date_posted FROM Photo
UNION ALL
SELECT video_id, video, date_posted FROM Video
ORDER BY date_posted DESC

可能吧?。

您可以使用
UNION ALL
但是post、photo和video列的数据类型是什么?所以这些表之间根本没有关系,您只想将它们一起输出?你能展示一下到目前为止你可能尝试过的SQL吗?没有关系,只是按发布顺序输出。这不是我想要的方式。这个查询只是在所有表的别名下填充。我如何区分哪一个是视频,哪一个是发布的。然后你应该使用@Curt的答案。
 (
   SELECT video_id   AS id,
          'Post'     AS content_type,
          post       AS content,
          date_posted
     FROM Posts

        UNION ALL

   SELECT photo_id   AS id,
          'Photo'    AS content_type,
          photo      AS content,
          date_posted
     FROM Photo

           UNION ALL

   SELECT video_id   AS id,
          'Video'    AS content_type,
          video      AS content,
          date_posted
     FROM Video
 )
 ORDER BY date_posted DESC