我想它的時間,從不同的表中的數據進行排序.. 我有表:MySQL的:通過其列從2(或多個)錶行排序
書: book_id | book_name | book_time
movies: movie_id | movie_name | movie_time
我想一起選擇最新的書籍和電影。我想對它排序如下:ORDER BY book_time DESC 但是對於這兩個表。我嘗試了加入,但它不是很好,而且速度也很慢。
我想它的時間,從不同的表中的數據進行排序.. 我有表:MySQL的:通過其列從2(或多個)錶行排序
書: book_id | book_name | book_time
movies: movie_id | movie_name | movie_time
我想一起選擇最新的書籍和電影。我想對它排序如下:ORDER BY book_time DESC 但是對於這兩個表。我嘗試了加入,但它不是很好,而且速度也很慢。
我平時儘量遠離子查詢了,但如果你把聯合成一個,你可以很容易地通過時間順序:
SELECT id, name, time
FROM
(
SELECT book_id id, book_name name, book_time time FROM books
UNION
SELECT movie_id id, movie_name name, movie_time time FROM movies
) booksandmovies
ORDER BY time DESC;
+1:但是我會考慮使用'UNION ALL'來代替 - 它更快,因爲它不會刪除重複項('UNION'會)。當然,有些書和電影有相同的名字,但不可能有相同的ID和時間... –
完美,謝謝! – Blaskovic
我不明白你怎麼會加入這些表;他們沒有關係。 –
@ IgnacioVazquez-Abrams也許電影數據庫是基於書本的電影,而movie_id是book_id的外鍵。雖然我懷疑事實並非如此...... –
@PhpMyCoder:特別是因爲這更好地表達爲M2M。 –