質問: ■ 現状SQL ------- ``` SELECT Y.id, Y.hoge, Y.piyo FROM ( SELECT A.id, A.hoge, A.piyo FROM A UNION ALL SELECT B.a_id, "", B.piyo FROM B )Y ``` ■ 現状取得結果 -------- ``` id hoge piyo ``` ■ 希望取得結果 -------- ``` increment_id id hoge piyo ``` ■ やりたいこと -------- * `UNION ALL` する際、結果に `increment_id` カラムを新たに追加したい * `increment_id` カラム ... レコード順に+1 ■ 背景 ---- * 後で `GROUP_CONCAT` する際、使用したいので
回答: stackoverflow.com の方に それっぽい回答 がありました。 ``` SELECT @id:=@id+1 increment_id, Y.id, Y.hoge, Y.piyo FROM (select @id:=0) as id, ( SELECT A.id, A.hoge, A.piyo FROM A UNION ALL SELECT B.a_id, "", B.piyo FROM B ) Y; ``` (実行結果)