• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数テーブルSELECT*、NULLのカラムに別の値が代入されて出力される)

複数テーブルSELECT*、NULLのカラムに別の値が代入されて出力される

このQ&Aのポイント
  • MySQLの経験が未ださほどないので、単純なミスかも知れませんが少しアドバイスをお願いします。複数テーブルに対してSELECT *を行うと、本来NULLになるべきカラムに別の値が入った状態で出力されます。
  • IPアドレスを記録してあるカラムの値にはドットが入っているためか、上には該当せず、NULLはちゃんとNULLとして返ってきます。他にも、数字以外の文字列を含むカラムのデータはすべて正常に動いています。
  • テーブルの使い方が悪いのかクエリに何か足りないのかだと思います。しかしまだ原因が特定できないので、ご助力いただきたいのです。

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

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

テーブルAとBの結合処理がされていませんね AとBがどんな関係にある(リレーション)のか等を明記してあげればいいと思います。 このままだと AとBの組み合わせ全パターンが出てしまいます。 AとBでキーになるものを設定してあげて select * from テーブルA, テーブルB where テーブルA.キー = テーブルB.キー といった具合に・・・ またテーブル結合のSelectは*を使うとデータが重くなってしまうので 使うカラムだけを指定してあげるといいでしょう

scaddi231
質問者

お礼

早い回答ありがとうございます。 上のようにした理由は、 管理ページを作製する中でトップページに表示する際、 使用されるすべてのデータベース、テーブルから全データを単に羅列したかったからです。 しかしJOINやご指摘のものを使っても、ひとつのテーブルを基準に抽出しているところから 狙いとは違った動きになってしまします。 調べてまわりましたが、端から目的がズレていたのかも知れません。 複数回に分けてテーブルから抽出、書き込まれた順に並び替えることを少し考えようかなと思います。 ありがとうございました。

関連するQ&A