• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UNIONで、特定カラムだけ結合前のカラム名を取得)

UNIONで特定カラムだけ結合前のカラム名を取得する方法は?

このQ&Aのポイント
  • SQLのUNIONを使用して、特定のカラムだけ結合前のカラム名を取得する方法について教えてください。セレクト1とセレクト2のどちらのカラムから取得されたのかを知りたいです。
  • SQL生成方法に問題があるのでしょうか?2回実行して足すべきですか?または、SQL側で足すべきでしょうか?
  • 主なテーブルとサブテーブルからLIKE検索を行い、該当するレコードを取得したいです。現在はUNIONを使用して検索結果を表示していますが、どちらのテーブルから取得されたか判断できないため、再考しています。

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

  • ベストアンサー
  • yossan456
  • ベストアンサー率100% (1/1)
回答No.1

SQL Serverで作業しているものです。 多分、MySQLでも同じと思いますが、 mainとsubを取得するときに固定値を入れたら判断することができます。 質問のSQL文ですと、下のように書いたらできます。 (tablenameという名前の列を追加しています。) SELECT tablename, id, tom, best, center, dragon  FROM (   SELECT 'main' tablename, m.id, m.tom, m.best1, m.center, u.dragon FROM main m ←セレクト1    LEFT JOIN usa u ON m.usa_id = u.id   UNION ALL   SELECT 'sub' tablename, s.red_id, s.red_title, s.best2, s.center, u.dragon FROM sub s ←セレクト2    LEFT JOIN usa u ON s.usa_id = u.id  ) as PIYO

re999
質問者

お礼

回答ありがとうございました。 「テーブル名」も取得出来るんですね! おかげでうまくいきました。 大変参考になりましたー

関連するQ&A