質問: sqlでの絞り込み検索 はじめて参加します。 sql初心者の古屋と申します。 絞り込み検索をしたいのですが、先に進まず困っています。 どうぞアドバイスをよろしくお願いします。 あるテーブルから1回目の検索条件でヒットしたものを表示させる。 次に、その中から2回目の検索条件を入力して、結果を表示させる。 (ポイントは、一度検索した結果を出してから、次の検索条件を入力させたい) この絞り込みを何回でもやりたいのです。 一時テーブルも試したのですが、検索する回数分一時テーブルが必要になるのではだめだと思い、 断念しました。 テーブル値関数を使ったら良さそうだと思ったのですが、能力不足のため先に進まず困っています。 どうかアドバイスをよろしくお願いします。 環境は、windows 2000 serverで、sql server 2000を使用しています。
回答: 対話式に検索するのであれば、cse_riさんのおっ しゃる通り、sqlというより4glなどのツールで 解決する問題だと思います。 本題からは外れるかもしれませんが、もしsqlで やろうとすれば、下記のようなクエリーで1回目の 検索結果と、2回目の検索結果を同時に出力する事 はできます。 |select deptno, '---' "empno", '---' "ename" | from dept where deptno=10 |union |select deptno, empno, ename | from emp | where deptno in (select deptno from dept where deptno=10); |order by deptno,empno,ename; ちなみに上記はoracle-sqlですが、sql-serverでも unionは使えるでしょう。 かなり邪道ですかね(笑) ポイントは、union。 1つめのクエリーでは、親の問い合わせのみを記述し、 2つめのクエリーでは、親の問い合わせを副問い合わせに もつ問い合わせを書く、という点です。 unionなので、基本的に列の名前なんかは合わせておく 必要があります。 ご参考までに。