[MySQL]サブクエリの結果をJOINする

サブクエリで取得した結果をJOINしたくてこんな感じで書いた。

SELECT
t1.col1, t1.col2,
sub.column3, sub.col4
FROM table1 AS t1
LEFT JOIN (
    SELECT
    col1, col2, col3 as 'column3', col4
    FROM table2 AS t2
) AS sub ON t1.col1=sub.col1

サブクエリで取得した結果に対してエイリアスを設定すれば、親のクエリでもカラムの値を表示できる。
なお、最初はサブクエリ内の親クエリに表示したい項目に対して日本語名のエイリアスをつけていたけども、これだとうまく動かなかった。

col1, col2, col3 as 'カラム3', col4
(修正後)-> col1, col2, col3 as 'column3', col4

今後は親クエリに表示したい場合はエイリアスでも日本語指定しないようにする。

参考

サブクエリをJOINしたクエリでサブクエリ内の集計項目を親クエリに表示させる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

one + four =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください