0

複数のテーブルをクエリして、次のように結果を表示しようとしています...

テーブル...

news
id    title      news_datestamp
1      news 1       01/01/2001
2      news 2       01/05/2001

articles    title          articles_datstamp
1            article 1         01/04/2001
2            article 2         01/06/2001

結果を次のように表示する単一のスクリプトを取得しようとしています...

News 1 01/01/2001
Article 1 01/04/2001
News 2 01/05/2001
Article 2 01/06/2001

何か案は?

4

2 に答える 2

1

Uniona を使用して結果を副選択にマージし、最終的なテーブルを並べ替えることができます。

SELECT * FROM (
  SELECT id, title, news_datestamp AS datestamp, "news" AS type FROM news
  UNION ALL
  SELECT articles AS id, title, article_datestamp AS datestamp, "article" AS type FROM articles
) AS temptable
ORDER BY datestamp

このtype列は、後で ID 参照を識別するのに役立ちます。

于 2013-09-20T19:31:08.123 に答える
1

newsarticleテーブルの結合が必要なようです。

SELECT * FROM
  ( SELECT title,
           news_datestamp AS datestamp
      FROM news
     UNION ALL
    SELECT title,
           article_datestamp AS datestamp
     FROM articles
    ) AS everything
   ORDER BY datestamp, title
于 2013-09-20T19:30:37.347 に答える