一回も披露したことのない豆知識

SQLで二つのデータベースをUNIONでつないだあとに異なる入力形式のフィールドでソートをかけたいのですが。
AのデータベースではNOが文字列で"001","002","003"...で、
Bの方ではNOが文字列で" 01"," 02"," 03"...と左1ケタ目がブランクとなっています。
これを"001"," 01","002"," 02"...というふうに下2けたのみでソートをかけたいのですが、
普通にORDER BYするとBを読んだあとにAがきてしまいます。
SUBSTRINGはUNIONでは使えなかったのですが、何かよい方法教えていただけませんでしょうか?

A 回答 (2件)

BテーブルのSELECT文で


ltrim関数で、左空白文字を外し、concat関数で左一桁に「0」を
文字連結させる。

SELECT concat('0', ltrim(NO)) from B ・・・
    • good
    • 0
この回答へのお礼

できました。ありがとうございました!

お礼日時:2010/04/21 19:59

こんにちは



最初にSELECTする時に、型を合わせればいいのでは?
SELECT ・・・・(ここ)
UNION
SELECT ・・・・(と、ここ)
ORDER BY ・・・

必要に応じてエイリアス(AS 別名)を付けましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!