OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

テーブル結合について

  • 困ってます
  • 質問No.246849
  • 閲覧数464
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 99% (173/174)

SQL Serverで、メイン、サブ1、サブ2、サブ3、サブ4というテーブルがあり、以下のSQLを実行すると、メインにあるすべてのデータ(10列)が抽出されます。

SELECT *
FROM メイン INNER JOIN
サブ1 ON メイン.name1=サブ1.id INNER JOIN
サブ2 ON メイン.name2=サブ2.id INNER JOIN
サブ3 ON メイン.name3=サブ3.id

しかし、上記のSQL文に追加して、

SELECT *
FROM メイン INNER JOIN
サブ1 ON メイン.name1=サブ1.id INNER JOIN
サブ2 ON メイン.name2=サブ2.id INNER JOIN
サブ3 ON メイン.name3=サブ3.id INNER JOIN
サブ4 ON メイン.name4=サブ4.id

とすると、メイン内の10列のうち、2列しか抽出されません。

サブ4を結合しても、一つ目のSQL文と同じ結果を抽出したかったのですが、どこがおかしいのでしょうか?
SQL文がまずいのか、サブ4のテーブル内容のせいなのか、SQL Serverの設定がおかしいのか、さっぱり見当がつきません。

足りない情報がありましたら補足いたしますので、どうぞよろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル10

ベストアンサー率 61% (75/121)

"メイン"テーブルの"name4"列と"サブ4"テーブルの"id"列で一致する値が
2件しかないのではないでしょうか?
LEFT JOIN を使ってみてはいかがでしょうか?

通常3つ以上の結合をする場合は、括弧でくくって結合したテーブルを一つのテーブルと見なすようです。
<例>
select * from (foo INNER JOIN bar ON foo.a=bar.a)
INNER JOIN more ON foo.a=more.a
お礼コメント
ryo_f

お礼率 99% (173/174)

回答ありがとうございました。
質問した後、よーくメインのテーブル内容を見てみたら、メイン.name4に、サブ4.id内にない値が入っているものがありました。これが原因で、抽出されなかったようです。
お騒がせしまして、申し訳ありませんでした。
投稿日時 - 2002-04-04 15:14:00
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル13

ベストアンサー率 24% (357/1463)

恐らくサブ4に対応するデータが2件しかないのだと思います。 SELECT * FROM メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id INNER JOIN サブ2 ON メイン.name2=サブ2.id INNER JOIN サブ3 ON メイン.name3=サブ3.id LEFT JOIN サブ4 ON メイン.name4=サブ4.id とすると、サブ4のデ ...続きを読む
恐らくサブ4に対応するデータが2件しかないのだと思います。
SELECT *
FROM メイン INNER JOIN
サブ1 ON メイン.name1=サブ1.id INNER JOIN
サブ2 ON メイン.name2=サブ2.id INNER JOIN
サブ3 ON メイン.name3=サブ3.id LEFT JOIN
サブ4 ON メイン.name4=サブ4.id
とすると、サブ4のデータの有無に関わらず表示されます。
お礼コメント
ryo_f

お礼率 99% (173/174)

回答ありがとうございます。
ご指摘のとおり、メイン.name4の値が不正でした。
後から追加した列だったので、ちょっと混乱してしまったようです。
お騒がせしまして、申し訳ありませんでした。
投稿日時 - 2002-04-04 15:16:25
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ