yossan456のプロフィール
- ベストアンサー数
- 1
- ベストアンサー率
- 100%
- お礼率
- 0%
- 登録日2012/05/30
- UNIONで、特定カラムだけ結合前のカラム名を取得
以下のようなSQLがあるとき、「best」カラムだけ、後で利用する際、「セレクト1」「セレクト2」何れのカラムから(どちらのテーブルから)取得したか知りたいのですが、どうすれば良いでしょうか? <SQL文例> SELECT id, tom, best, center, dragon FROM ( SELECT 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 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 <希望> 「id, tom, best, center, dragon」ではなく、 「id, tom, best1, center, dragon」+「id, tom, best2, center, dragon」で取得したい <質問> ・SQL生成の方法がおかしいのでしょうか? ・「セレクト1」「セレクト2」を2回実行して、どーにかして足せば良いのでしょうか? ・そもそもSQL側で足す、という考えが間違っているのでしょうか? この場合は2回実行して、スクリプト側で処理すべきなのでしょうか? <最終的にやりたいこと> ・「main」「sub」テーブルよりLIKE検索を行い、それぞれでヒットした該当レコードを取得したい ※UNIONを利用し、検索結果を両テーブルより取得表示するとこまでは出来たのですが、「main」「sub」何れから取得したか判断出来ないため、そこからリンクが貼れず、再考しています