- - PR -
MS-ACCESS 異なるCODE間でのMAILの重複をデータを抽出するSELECT文
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-03-16 22:31
よろしくお願い致します。
DB:access2003 異なるCODE間でのMAILの重複をデータを抽出するSELECT文を作りたいのですが うまくいきません。 下記テーブルの※のついているフィールドを抽出したいのですが 私の作ったSQLですと、IDの41、42、43、44のデータが抽出できません。 -------tab--------- ID,CODE,MAIL 11,AAAA,a@a 21,BBBB,b@b 22,BBBB,b@b 31,CCCC,c@c ※ 32,CCCC,c@c ※ 33,DDDD,c@c ※ 41,EEEE,e@e ※ 42,EEEE,e@e ※ 43,FFFF,e@e ※ 44,FFFF,e@e ※ ------------------- ========実際に作ったsql========================= SELECT ID FROM TAB WHERE MAIL IN (SELECT FROM tab WHERE MAIL IN (SELECT FROM tab GROUP BY HAVING COUNT(*)>1)) ============================================= どのようにすればよろしいでしょうか? ご教授のほどよろしくお願い致します。 | ||||||||
|
投稿日時: 2009-03-16 23:01
今、環境無いので動作確認はしてないですが
これでどうでしょう?
ACCESS って分析関数使えますよね? | ||||||||
|
投稿日時: 2009-03-16 23:10
> 下記テーブルの※のついているフィールドを抽出したいのですが
すみません。 フィールドって書いてあるから MAIL のフィールド欲しいのかと思いましたが レコードの間違いかな?とも思ったので追記します。 上記の SQL で c@c と e@e の2件が(たぶん)取得できると思うので、 それを元に MAIL が一致するレコードを取得すれば※のレコードは 取得できると思います。 | ||||||||
|
投稿日時: 2009-03-16 23:13
何度も何度もすみません。
これで最後です!
| ||||||||
|
投稿日時: 2009-03-18 00:16
King様
ご連絡遅くなりまして申し訳ございません。 ご回答ありがとうごせきざいました。 accessは分析関数が使えなそうです・・・ 分析関数使わないと無理ですかね・・・ | ||||||||
|
投稿日時: 2009-03-18 00:56
ACCESSの環境がなく、実装しているか確認できていませんが。。。
次のSQLは、動きますかね? kingさんのアイデアを、ちょっと改造しただけですが。
もし、動くor改造できるなら、それをサブクエリにして、例えば次のようなSQLを試してみてください。
| ||||||||
|
投稿日時: 2009-03-19 21:08
普通にnot existsでいいでしょう
試してませんが
|
1