OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

こんなSQL文

  • 困ってます
  • 質問No.165839
  • 閲覧数53
  • ありがとう数10
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 51% (32/62)

Oracle8.1.7を使用しております。
以下のようなテーブルに対し、1行目と2行目を削除するSQL文を書きたいのですが、思いつきません。どなたか、アドバイスいただけないでしょうか?

表名:A
  B | C
――――――――
  2 | 10
  2 | 1
  1 | 10
  1 | 1
  1 | 11
  1 | 2
  1 | 1
  3 | 10
  2 | 3

変数として、P1=1とP2=2があります。(これは、SQL文の中に直接書くものとします。)
ここで、SELECT B,C FROM A WHERE B=1;とSELECT B,C FROM A WHERE B=2;を実行すると、次のようになります。
  B | C     B | C
――――――――― ―――――――――
  1 | 10    2 | 10
  1 | 1     2 | 1
  1 | 11    2 | 3
  1 | 2
  1 | 1
ここで、それぞれの表を見ると、Cの値が一致している部分があります。この一致していて、Bが2の行を削除したいのですが、SQL1文では無理でしょうか?

最近、SQLには慣れてきたつもりだったのですが、こんなとこでつまずくとは・・・どうぞよろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル9

ベストアンサー率 30% (25/83)

ゴメンナサイ。
C=(SELECT C FROM A WHERE B=1)

C IN (SELECT C FROM A WHERE B=1)
の方がいいかも?
お礼コメント
msystem

お礼率 51% (32/62)

ありがとうございます。

答えがわかれば、何てことないSQL文ですね。でもそれに気づくかどうかが、経験の差かなって思っています。

内容もわかりやすく、もれなく、削除できそうなので、このSQL文使わせていただきます。(ちなみに、やはり、INでないとエラーがでました。)
投稿日時 - 2001-11-12 17:04:52
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 34% (97/285)

>1行目と2行目を削除するSQL文を書きたいのですが... (略) >Bが2の行を削除したいのですが.... 最初は二行削除すると書いてあって、その後の説明は一行削除するようになっているのですが.....。 私の勘違いだったらすみません。 ...続きを読む
>1行目と2行目を削除するSQL文を書きたいのですが...
(略)
>Bが2の行を削除したいのですが....

最初は二行削除すると書いてあって、その後の説明は一行削除するようになっているのですが.....。

私の勘違いだったらすみません。
補足コメント
msystem

お礼率 51% (32/62)

えーと、なかなか文字で書くのは難しいのですが、

右と左のの表で、Cが一致する行が2行あるので、2行削除するということになるのですが・・・。

つまり、左の表でB=1、C=10の行と右の表でB=2、C=10の行がCが一致します。ここで、元表のB=2、C=10の行を消す。さらに2表をチェックすると左の表でB=1、C=1の行と右の表のB=2、C=1の行がCが一致します。ここでさらに元表からB=2、C=1の行を消します。
都合これで2行になると思います。
投稿日時 - 2001-11-09 17:36:12
  • 回答No.2
レベル9

ベストアンサー率 30% (25/83)

SELECT B,C FROM A WHERE B=2 AND C=(SELECT C FROM A WHERE B=1); DELETE FROM A WHERE B=2 AND C=(SELECT C FROM A WHERE B=1); SELECT文を実行して納得できたら DELETE文を使ってください。 ダメなら補足して下さい。
SELECT B,C FROM A WHERE B=2 AND C=(SELECT C FROM A WHERE B=1);

DELETE FROM A WHERE B=2 AND C=(SELECT C FROM A WHERE B=1);

SELECT文を実行して納得できたら
DELETE文を使ってください。

ダメなら補足して下さい。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ