1

私は3つの異なるテーブルを持っています:

  • ニュース

    • ニュース_id
    • news_content
    • news_pubdate
    • song_id
    • song_link
    • song_pubdate
  • インタビュー

    • インタビューID
    • インタビュー_アーティスト
    • インタビュー内容
    • インタビュー_公開日

Web サイトにタイムラインを作成して、3 つのテーブルの公開日で並べ替えられたすべてのコンテンツを一意のリストに表示しようとしています。MySQL でそれを行う方法はありますか?

他の3つのテーブルから日付でソートされたすべてのIDを含む「一般的な」テーブルを作成することはできますか? 次に、すべての要素を PHP にリンクする必要があります。消費電力が多すぎませんか?

4

1 に答える 1

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`;
于 2013-03-14T20:40:01.680 に答える