使用mySQL,如何在几个不同的表中按日期排序?

Ron*_*gge 5 mysql

我正在尝试为网站生成动态RSS提要,但我在编写mySQL查询时遇到了麻烦.我有几个单独的表包含我需要访问的数据,我想按日期排序所有这些数据.

作为样本表:

Chapters
release ChapterTitle ChapterContent  ExtraInfo
10/12 'Chapter 1'  'Bla bla bla'  StoryTitle
10/14 'Chapter 2'  'Bla bla bla'  StoryTitle
10/16 'Chapter 3'  'Bla bla bla'  StoryTitle
10/18 'Chapter 4'  'Bla bla bla'  StoryTitle

NewsFeed
DATETIME Title Article
10/11 'Website Online!'  'I now have my website!'
10/15 'Everything Working!'  'Everything is going well!'
Run Code Online (Sandbox Code Playgroud)

我希望排序按以下顺序返回:

Website Online  Text
Chapter 1 StoryTitle  Text
Chapter 2 Story Title  Text
Everything Working  Text
Chapter 3 Story Title  Text
Chapter 4 Story Title  Text
Run Code Online (Sandbox Code Playgroud)

我猜测需要某种完全连接(事实上,时间以不同的格式会让生活变得困难),但这就是我所得到的.

有任何想法吗?

编辑:工会的想法是好的,但我忘了提到我需要检索的其他信息,两者之间不能相同 - 他们需要稍微不同的处理,我需要检测到(很容易检测到检查我知道在一个表中需要的信息,如果值为null,那么它是另一种类型的条目).

编辑编辑:这是我对相应代码的最佳猜测,但数据库返回一个空表,我不知道为什么.左连接返回信息的一半,右连接返回另一半,如果我使用完全连接,我应该得到所有的,而不是没有.

select *
from chapter
full join newsFeed
on releaseDate=newsFeed.release
limit 0, 100
Run Code Online (Sandbox Code Playgroud)

Ron*_*gge 1

经过大量工作,我终于找到了正确的查询。问题是 mySQL 不支持完全外连接(WTF?),所以我必须将它们联合在一起。为了对该联合执行排序,我最终不得不将该联合包装在它自己的 SELECT 子句中,这导致未命名的派生子表出现问题。

最终代码如下:

select *
from
(
    select * from
    (
        select chapterTitle, storyID, chapterContent, newsFeed.article, newsFeed.Title, newsFeed.release
        from chapter
        right join newsFeed
        on releaseDate=newsFeed.release
    ) AS derivedTable1
    union
    select * from 
    (
        select chapterTitle, storyID, chapterContent, newsFeed.article, newsFeed.title, releaseDate
        from chapter
        left join newsFeed
        on releaseDate=newsFeed.release
    ) AS derivedTable2
) as MainTable
order By MainTable.release desc
Run Code Online (Sandbox Code Playgroud)