• ベストアンサー

件数が異なる件について

表結合で左の表に無いフィールドを表示させるために右の表を使って表示させるSQLですが まず件数を調べてみたところ件数が下の表結合が多かったのでびっくりしました。 左にないフィールドを表示させたいだけなので、どうして増えるのかもわからず困っています。 select count(*) from l_hyo; select count(*) from l_hyo l left join r_hyo r on l.cd=r.cd;

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

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

こんにちは! きっと、結合条件にしているcdがr_hyoで重複しているからだと 思いますよ! 間違っていたら、ごめんなさい・・・ 実現したいSQLですが、 (1)まず、左表、右表ともにあるレコードを抽出する。 (2)(1)以外の右表のレコードが左表に存在しないレコードになる。 ということで、いいんですか? それでしたら↓ select * from r_hyo where cd not in (select l.cd from l_hyo l left join r_hyo r on l.cd = r.cd ) で取得できると思います!

参考URL:
http://biz.rivus.jp/technote507038.html

関連するQ&A