我有 3 个不同的表:
消息
- news_id
- 新闻内容
- 新闻发布日期
歌曲
- 歌曲编号
- 歌曲链接
- 歌曲发布日期
面试
- 采访ID
- 采访艺术家
- 采访内容
- 采访发布日期
我正在尝试在我的网站上创建一个时间线,以在唯一列表中显示我的 3 个表格中按发布日期排序的所有内容。有没有办法在 MySQL 中做到这一点?
也许创建一个“通用”表,其中包含我的其他 3 个表中按日期排序的所有 id?然后我应该将所有元素与 PHP 链接。是不是太耗电了?
试试这个,看看它是否能满足您的需求:
SELECT
`news_id` AS `id`,
`news_content` AS `content`,
`news_pubdate` AS `pubdate`,
"" AS `person`,
"news" AS `type`
FROM `news`
UNION
SELECT
`song_id` AS `id`,
`song_link` AS `content`,
`song_pubdate` AS `pubdate`,
"" AS `person`,
"song" AS `type`
FROM `song`
UNION
SELECT
`interview_id` AS `id`,
`interview_content` AS `content`,
`interview_pubdate` AS `pubdate`,
`interview_artist` AS `person`,
"interview" AS `type`
FROM `interview`
ORDER BY `pubdate`;