2016-06-15 6 views
0

1つのテーブルから「タイトル」を選択し、「日付」で注文します。私は他のテーブルから 'タイトル'を選択し、 '日付'(2つのテーブルに同じ名前の2つのカラム)で並び替えます。それで私はこのように結び付ける。日付別に統一リクエストを注文する方法は?

(SELECT title FROM books WHERE id = :id ORDER BY date DESC) UNION ALL (SELECT title FROM movies WHERE id = :id ORDER BY date DESC); 

どのようにしてこれらをすべて一緒に日付にすることができますか?

答えて

1

dateを選択しないとできません。選択肢にdateを追加すると、かっこと最初のORDER BY句だけを削除できます。括弧がなければ、MySQLはあなたがあなたがあなた..so選択中に存在する唯一の列で順序を使用して並べ替えることができます

SELECT title, `date` FROM books WHERE id = :id 
UNION ALL 
SELECT title, `date` FROM movies WHERE id = :id 
ORDER BY date DESC 

以下のサンプルのような選択を持っている必要があります列を注文するために全体UNION

0

に、ORDER BYを適用します日付が必要です..そして、同じ列(数値、型)を持つ表のみを結合することができるので、日付はselect ..とunionの両方にあります。問合せの最後にのみ注文が必要です。

+0

できませんそれが何を意味するかを完全に理解する。これは、両方のテーブルまたは何から「日付」を結びつけるでしょうか? –

+0

私はいくつかの簡単な説明で答えを更新しました – scaisEdge

関連する問題