MySQL で UNION ALL の結果に、インクリメントする ID カラムを追加したい


## ■ 現状SQL

[code]

    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
    
[/code]

## ■ 現状取得結果

[code]

    id　hoge　piyo
    
[/code]

## ■ 希望取得結果

[code]

    increment_id　id　hoge　piyo
    
[/code]

## ■ やりたいこと

  * `UNION ALL` する際、結果に `increment_id` カラムを新たに追加したい
  * `increment_id` カラム … レコード順に+1

## ■ 背景

  * 後で `GROUP_CONCAT` する際、使用したいので




stackoverflow.com の方に
[それっぽい回答](https://stackoverflow.com/questions/11094466/generate-serial-number-
in-mysql-query/11096550#11096550) がありました。

[code]

    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;
    
[/code]

([実行結果](http://www.sqlfiddle.com/#!2/e50a3/1))




stackoverflow.com の方に
[それっぽい回答](https://stackoverflow.com/questions/11094466/generate-serial-number-
in-mysql-query/11096550#11096550) がありました。

[code]

    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;
    
[/code]

([実行結果](http://www.sqlfiddle.com/#!2/e50a3/1))

