人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLで0件のレコードを探す方法について教えてください。
画像のようなテーブルがあるとします。

Aテーブルのデータはユニークで絶対存在しています。
AテーブルのKY1コードと外部キーをもとにBテーブルを検索して存在しないレコードを探したいのですが・・・
外部結合じゃないと0件のデータは見つけられないでしょうか?

また、Bテーブルのデータは複数あるのでおそらくgroup byのデータで比較しなくてはいけないかと思うのですがどのような記述がスマートでしょうか?

ちなみに画像からするとAテーブルのKY1コードがCCC001がBテーブルに無いので見つけたいものになります。
Ora10g対象です。
詳しい方よろしくお願いします。

1320154459
●拡大する

●質問者: mrr00
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3

こんな感じかなあ...

select * from A_TABLE
 where not exists ( select 'X' from B_TABLE where A_TABLE.KY1_CODE = B_TABLE.KY1_CODE );

mrr00さんのコメント
返信が遅くなりすみません 大変参考になる意見ありがとうございました。

2 ● degucho
ベストアンサー

外部結合ダメなの?

SELECT A.*
 FROM A LEFT JOIN
 B ON A.KY1コード = B.KY1コード
 AND A.外部キー = B.外部キー
 WHERE B.KY1コード IS NULL

mrr00さんのコメント
返信が遅くなりすみません 大変参考になる意見ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ