yossan456のプロフィール

@yossan456 yossan456
ありがとう数1
質問数0
回答数1
ベストアンサー数
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」何れから取得したか判断出来ないため、そこからリンクが貼れず、再考しています

    • ベストアンサー
    • re999
    • MySQL
    • 回答数1