1

我有这个

ads

ad_id   ad_path     ad_explain      date    
1       1.jpg       something       2012 03:35:10 PM
2       2.jpg       something       2012 03:05:27 PM


books

book_id       book_name     date
1             first         2012 03:45:27 PM
2             second        2012 03:10:27 PM

我希望从这两个表中获取所有数据并按日期对它们进行排序,例如:

book_id       book_name     ad_id    ad_path      ad_explain      date
                             2        2.jpg       something       2012 03:05:27 PM
2             second                                              2012 03:10:27 PM
                             1        1.jpg       something       2012 03:35:10 PM
1             first                                               2012 03:45:27 PM
4

2 回答 2

2

你可以用 UNION 做到这一点:

SELECT book_id, book_name, null as ad_id, null as ad_path, null as ad_explain, date
FROM books
UNION
SELECT null, null, ad_id, ad_path, ad_explain, date
FROM ads
ORDER BY date

请参阅此小提琴以获取工作示例

于 2013-09-06T22:03:38.327 回答
0

您将需要 SQL 连接,但您需要共同的列来连接。

book 和 request_books 可以在 book_id 上加入,但 ads 似乎没有任何内容的共同列(日期除外,但这似乎不太可能成为目标),因此您无法轻松地将其引入。

当广告似乎不适合该组时,您希望将所有三个表格混合在一起的目的是什么?

于 2013-09-06T18:43:10.090 回答