• 締切済み

MySQLのLEFT JOINについて

LEFT JOINを使ったMySQLに挑戦しています。 テーブルとテーブルを照らしあわせ、右側のテーブルに優先的に表示する方法ですが、1つのテーブルと1つのテーブルではなく1つのテーブルに対して複数のテーブルと照合する方法とはあるのでしょうか? どうかおしえていただけないでしょうか? 下記に作成中のソースを示します。 宜しくお願いします。 $STRSQL=qq{SELECT }; $STRSQL=$STRSQL.qq{kyu_table.iput_charg_id,k_data_m_table.iput_charg_id }; $STRSQL=$STRSQL.qq{FROM k_data_m_table LEFT JOIN kyu_table ON k_data_m_table.iput_charg_id = kyu_table.iput_charg_id }; $STRSQL=$STRSQL.qq{WHERE k_data_m_table.iput_charg_id = "$KYU" };

みんなの回答

  • stork
  • ベストアンサー率34% (97/285)
回答No.1

MySQLは使ったことがありませんが、回答がつかないようですので回答させて頂きます。 単純にFROMのところでカッコ書きでくくっていけばいいと思います。 例) select .... from (tableA left join tableB on tableA.ID=tableB.ID) left join tableC on tableA.ID = tableC.ID where句で結合できればそちらの方がすっきりするでしょうし、いくつかのSQLに分割できれば見やすいと思います。 蛇足ですが、複数のテーブルを外部結合するときは、where句で外部結合がムダにならないように気をつけて下さい。 例)上記のSQLで where tableC.col1=XXX と入れるとtableCに対して外部結合ではなくなります。

関連するQ&A