複数テーブルから全項目を取得するときに、テーブル名と列名を分かるように取得するには?
質問
MySQL8にて、SELECT文で複数テーブルを結合して全ての列を取得したいと考えています。
複数テーブルを結合して全ての列を取得するとき、重複する列名があると自動的に重複しない項目名がつきますが、この自動的につく項目名ではどのテーブルの列なのか判別できません。
各テーブルの各列をSELECT句に列挙してASで適切な項目名をつければどのテーブルの列なのか判別できますが、テーブル定義が変わったときに追従してSQLを変更しなくても済むようにしたいです。
テーブル名と列名が分かる項目名で、自動的に全列を取得する方法はないでしょうか?
SELECT例
select *
from 売上データ
left join 商品マスタ on 売上データ.商品コード = 商品マスタ.商品コード
理想とする取得結果(実際にはこうならない)
売上データ.売上ID | 売上データ.商品コード | 売上データ.売上個数 | 売上データ.更新ユーザ | 商品マスタ.商品コード | 商品マスタ.商品名 | 商品マスタ.更新ユーザ |
---|---|---|---|---|---|---|
1 | item01 | 10 | user01 | item01 | りんご | user99 |
2 | item02 | 20 | user01 | item02 | みかん | user99 |
3 | item03 | 30 | user01 | item03 | バナナ | user99 |
実際の取得結果
売上ID | 商品コード | 売上個数 | 更新ユーザ | 商品コード_1 | 商品名 | 更新ユーザ_1 |
---|---|---|---|---|---|---|
1 | item01 | 10 | user01 | item01 | りんご | user99 |
2 | item02 | 20 | user01 | item02 | みかん | user99 |
3 | item03 | 30 | user01 | item03 | バナナ | user99 |