ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:bazax 件数が異なる件について
困り度:
  • 困っています
表結合で左の表に無いフィールドを表示させるために右の表を使って表示させるSQLですが
まず件数を調べてみたところ件数が下の表結合が多かったのでびっくりしました。

左にないフィールドを表示させたいだけなので、どうして増えるのかもわからず困っています。

select count(*) from l_hyo;
select count(*) from l_hyo l left join r_hyo r on l.cd=r.cd;
質問投稿日時:07/07/23 12:05
質問番号:3191971
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:system0001 こんにちは!

きっと、結合条件にしている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 )

で取得できると思います!
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:07/07/23 15:32
回答番号:No.1
参考URL: http://biz.rivus.jp/technote507038.html
この回答へのお礼この回答にお礼をつける(質問者のみ)