UNION での ORDER BY の話の続き

UNION で結合する表内で OREDER BY が使えない話なのだが。

ああ・・・今、ふと思ったが、単に ORDER BY したものをサブクエリにすればいいだけだ・・・

SELECT * FROM (SELECT * FROM table1 WHERE d1='B' ORDER BY d2) T1
UNION
SELECT * FROM (SELECT * FROM table1 WHERE d1='A' ORDER BY d2) T2
UNION
SELECT * FROM (SELECT * FROM table1 WHERE d1='C' ORDER BY d2) T3

ま、もう、プログラム内であれこれしてしまったので良いのだが。

ちなみに、UNION で結合する SELECT 文のサブクエリにはちゃんと名前をつけないと 'Every derived table must have its own alias' のエラーが出てしまうのでご注意を。

トラックバック(0)

このブログ記事を参照しているブログ一覧: UNION での ORDER BY の話の続き

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/1008

コメントする

このブログ記事について

このページは、shinodaが2010年2月 7日 03:09に書いたブログ記事です。

ひとつ前のブログ記事は「UNION で結合する各表の中での ORDER BY」です。

次のブログ記事は「駐車券を発見してしまった・・・」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら