sqlでのcsv出力

papa
2013-09-17 17:29 2128 1
SELECT 'コード','名前','誕生日' union   # カラム名を出力
SELECT code,name,birthday             # select句

INTO OUTFILE "c:/test.csv"             # ファイル名指定
FIELDS TERMINATED BY ','               # カンマ区切り
OPTIONALLY ENCLOSED BY '"'             # 「"」でくくる

FROM tbl_employee;

で、カラム名を先頭とした結果が出力されました。

これを ORDER BY句でソートしようとすると
たとえば、コードでソートしたとします。

ORDER BY コード ASC;

これだと、カラム名も含んでソートされてしまいます。
カラム名はソートの対象から外す方法はないでしょうか?

コメント

2013年 09月 17日 (19:57)
こんにちは。
イノ(inno)です。

質問の内容はMySQLのSQLですね。
私は MS-SQL Server専門ですのでMySQLは得意ではないですが、
下記のようにすれば質問の答えになると思います。
もしできなかったらすみません。

質問の内容の下記のところを修正します。
--#### 修正前
SELECT 'コード','名前','誕生日' union # カラム名を出力
SELECT code,name,birthday    # select句

--#### 修正後
SELECT 1 OrderView, 'コード','名前','誕生日' union # カラム名を出力
SELECT 2 OrderView, code,name,birthday    # select句

上記のようにOderViewのカラムを追加します。
その後ORDER BY句でソートをする時に。。
例えば、コードでソートしたいときは
ORDER BY コード ASC;
ではなく、
ORDER BY OrderView ASC, コード ASC;
にしてみてください。

これで質問の答えになると思います。