• ベストアンサー

サブクエリーなしで実現できますか?

以下のA、Bを結合して期待する結果を得たいです。 条件 ・MySQL4なのでサブクエリーは使えません。 ・テーブルの型が異なるので、UNIONは使えません。 ・両テーブルともa b の2カラムでプライマリキーになります。 ■テーブルA a b ---- 1 2 1 4 ■テーブルB a b c d -------- 1 3 c d 1 4 c d ■結果 1 2 1 3 1 4

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

  • ベストアンサー
回答No.1

条件で引っかかるのが、 ・テーブルの型が異なるので、UNIONは使えません。 というところなのですが、 テーブル定義としてのMyISAMとInnoDB等の違いを指しているのでしょうか。 それともフィールド定義としてのcharとintなどの違いを指しているのでしょうか。 テーブル定義の違いであるならばunionは使用できます。 フィールド定義としてならば、どのような型かによりますが、例えば数値型と文字型などであれば数値型をformat関数などを使用して文字型に変換すればunionできるようになります。 unionが使用できるのであればこの問題は解決できると思われますが、いかがでしょうか。

php4
質問者

お礼

ありがとうございます。私の思い込みでした。 UNIONで解決できました。format関数勉強になりました。 さらに難しいSQLにぶちあたり難航中です。。それは別の質問させていただきます。

関連するQ&A