- - PR -
SQL:1つの表中の2つの列値が同じレコードを抽出したいのですが。。。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-12-26 14:17
例えば、次の表があるとします。
【表名:T_test】 No UID NAME OP1 OP2 ---- ---- ---- ---- ---- 1 001 taro AAA zzz 2 002 jiro BBB yyy 3 003 taka CCC xxx 4 002 jiro BBB ppp 5 001 taro DDD ddd 6 002 jiro DDD ppp この表のT_test内で、UIDとOP1が共に一致するレコードを抽出したいのですが、 --<抽出結果>----------------------------- 2 002 jiro BBB yyy 4 002 jiro BBB ppp ------------------------------------------ このためのSQL文はどう書けばいいのでしょうか? 教えていただけないでしょうか。。よろしくお願い致します。 | ||||
|
投稿日時: 2002-12-26 14:30
単純に考えると、 SELECT A.No, A.UID, A.NAME, A.OP1, A.OP2 FROM T_test A, T_test B WHERE A.UID = B.UID AND A.OP1 = B.OP1 AND A.No <> B.No とかで抽出出来そうなイメージですが。 #実験はしていませんけれど [ メッセージ編集済み 編集者: 永井和彦 編集日時 2002-12-26 14:39 ] | ||||
|
投稿日時: 2002-12-26 15:16
答えじゃないけど SQLはここらで質問したほうがいいかと
http://www.mars.dti.ne.jp/~o-shin/ http://www.sqlpowerpage.co.jp/ | ||||
|
投稿日時: 2002-12-26 16:32
データと結果から推測するに、UIDとOP1がダブっているレコードのみを
抽出したいということで、いいのでしょうか? 結果だけではなくて、何をしたいのかを日本語で書いていただけると 回答がしやすいのですが… SELECT A.No, A.UID, A.NAME, A.OP1, A.OP2 FROM T_test A, (SELECT UID, OP1 FROM T_test GROUP BY UID, OP1 HAVING COUNT(*) > 1) B WHERE A.UID = B.UID AND A.OP1 = B.OP1 |
1