Php 如何从多个表中获取数据?
我正在使用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
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