• ベストアンサー

2回実行のSQL文を1回にしたい

テーブルXXXがありますその中の各フィールドは以下の通りです。 フィールド A フィールド B フィールド C まずA=0の検索をしてBの値を取り出し、新たにB=取り出した値で 検索をしたいのですがSQL文が1つにできないでしょうか? 今現在、 SELECT * FROM XXX WHERE A=0 を実行してBの値を変数Dに入れ SELECT * FROM XXX WHERE B=D と実行して全てのCの値を取り出しています よろしくお願いします。

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

  • ベストアンサー
  • timber
  • ベストアンサー率29% (218/739)
回答No.3

SELECT * FROM XXX WHERE B=( SELECT B FROM XXX WHERE A=0 ); No.1の回答とどちらが速いかは不明です.

masa00
質問者

お礼

ありがとうございます。 一発でOKでした。 解りにくい質問でも理解していただき助かりました。

その他の回答 (2)

  • ssm3u
  • ベストアンサー率52% (19/36)
回答No.2

SELECT * FROM XXX WHERE A=0 AND B=D ; ではダメということですか???

  • octopus
  • ベストアンサー率19% (6/31)
回答No.1

多分、副問い合わせの方法でやれば可能だと思います。 こんな感じでしょうか・・・。 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* SELECT * FROM  (SELECT *   FROM XXX WHERE A=0 )TMP_A <=== 自分で指定します。 WHERE  B=D -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* FROM句(データを引くテーブル)にSELECT文で絞り込んだものを作成し、そこから引いてくる形になっています。 上手く伝わるといいのですが・・・ という前に、上手く動くといいのですが(汗)

masa00
質問者

お礼

すばやい回答ありがとうございます。 早速ためしてみます。

関連するQ&A