2 つのクエリの結果の結合を選択したいと考えています。私がやろうとしているのは、特定の制約を持つ 1 つのエントリを選択し、残りの順序を他の制約によって追加することです。
Union を実行しようとしましたが、サブクエリでは注文できないため、2 番目のクエリでの注文は失敗します。
だから私がしたことは、テーブル変数を宣言してから、単一のエントリを挿入し、残りのエントリを制約順に挿入することです。
ユニオンを使用してこれを行う方法はありますか?
2 つのクエリの結果の結合を選択したいと考えています。私がやろうとしているのは、特定の制約を持つ 1 つのエントリを選択し、残りの順序を他の制約によって追加することです。
Union を実行しようとしましたが、サブクエリでは注文できないため、2 番目のクエリでの注文は失敗します。
だから私がしたことは、テーブル変数を宣言してから、単一のエントリを挿入し、残りのエントリを制約順に挿入することです。
ユニオンを使用してこれを行う方法はありますか?
結合されたクエリの結果をまとめて、並べ替えを実行するだけです。何かのようなもの:
SELECT MainQ.* FROM
(
(SELECT * FROM MyTable AS T1 WHERE MyField = 1)
UNION
(SELECT * FROM MyTable AS T2 WHERE MyField = 2)
) AS MainQ
ORDER BY MainQ.TableID
ユニオン ステートメントをサブクエリとして使用し、そこから選択します。
Select * from
(select fields,1 as orderby from table
union all
select fields,2 from as orderby table)a
where whatever
order by orderby,whatever
order by 句は大幅にカスタマイズすることもできます... mySQL でカスタム ORDER BY オーダーを定義する方法
たとえばmysqlの場合。