2016-09-07 6 views
-1

現在、私は2つのSQLクエリを実行する必要があるプロジェクトに取り組んでいます。そして、両方のクエリの出力をテーブルに書き込む前に日付とIDで出力を並べ替える必要があります。複数のSQLクエリを実行して出力をソート

とSQLの両方のクエリを並べ替え:次に、スクリプトの別の部分でオーバーループバックされます一つの変数に結果を追加

ORDER BY order.date DESC, order.id DESC. 

。しかし、別個のクエリを実行すると、2ブロックのソートされたアイテムが生成され、結果を追加するときに一緒にソートされることはありません。

データを適切にソートするための解決策は何でしょうか? `組合ALL`:

+2

ヒントを使用してみてください。 –

+1

'SELECT * FROM( UNION ALL )ORDER BY order.date DESC、order.id DESC'ここで、クエリ1と2には順序がありません(最後には関係ありません) – apokryfos

+0

なぜデータを取得する2つの別々のクエリが必要ですか?クエリでデータを取得するという一般的な考え方は、すべてを1にすることです。これはより効率的です。 – NoobishPro

答えて

0

SELECT A.* FROM ((QUERY1) UNION ALL (QUERY2)) A ORDER BY A.date DESC, A.id DESC 
+0

これはまさに私が必要としていたものでした。(上記のコメントとほぼ同じ回答のために@apokryfosに!) – ZeroThe2nd

関連する問題