こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQLで二つのデータベースをUNIONでつないだあとに異なる入力形式の

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

投稿日時 - 2010-04-21 17:28:25

QNo.5841748

困ってます

質問者が選んだベストアンサー

BテーブルのSELECT文で
ltrim関数で、左空白文字を外し、concat関数で左一桁に「0」を
文字連結させる。

SELECT concat('0', ltrim(NO)) from B ・・・

投稿日時 - 2010-04-21 17:49:45

お礼

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

投稿日時 - 2010-04-21 19:59:21

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

こんにちは

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

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

投稿日時 - 2010-04-21 17:42:54

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-