2013-03-14 45 views
1

排序從不同的MySQL表的內容我有3個不同的表:按日期

  • 新聞

    • news_id
    • news_content
    • news_pubdate
  • 歌曲

    • song_id
    • song_link
    • song_pubdate
  • 採訪

    • interview_id
    • interview_artist
    • interview_content
    • interview_pubdate

我試圖建立在我的網站一個時間表,顯示由pubdate的從我的3個表中唯一列表排序的所有內容。有沒有辦法在MySQL中做到這一點?

也許創建一個'一般'的表,將包括所有的ids按我的3個其他表中的日期排序?然後我應該將所有元素與PHP鏈接起來。這是不是太耗電?

+0

我相信所有你需要將是一個連接查詢。你能給我們每個表格的例子記錄,所以我們可以給你寫這樣一個查詢嗎? – Ultimater 2013-03-14 20:40:34

回答

3

試試這個,看看它是否會滿足您的需求:

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`; 
+0

完美運作!非常感謝! – JeremyW 2013-03-14 21:06:55