C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: SQLserver ストアド 複数条件で検索


(過去ログ 104 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■62149 / inTopicNo.1)  SQLserver ストアド 複数条件で検索
  
□投稿者/ hs (267回)-(2011/09/25(Sun) 10:46:34)

分類:[データベース全般] 

いつもお世話になっております。

VBで名簿管理ソフトを作成してます。
データベースはSQLserver2003です。

SQLserver のストアドのSELECT文で困っております。
検索対象の列が10個あり、それぞれの列のパラメータを用意したストアドを作成中です。
VB側にそれぞれ列のテキストボックスを配置しております。
それぞれテキストには検索したい項目のみの入力をしてもらい[検索]Click、とありきたりな仕様です。
入力されてないテキストは検索対象ではないので、ストアドでそれを判別出来ればと思っておりますが
全項目入力があれば簡単ですが、これだけ複雑なWHERE句になると、どう記述すべきか判りません。
全条件を、IFで記述するなんてバカげた事はないと思いますし...


@列01 nvarchar(20),
@列02 nvarchar(20),
 ・
 ・
@列09 nvarchar(20),
@列10 nvarchar(20)

AS
BEGIN

  IF @列01 に値があれば...
    SELECT

    IF @列02 に値があれば...
      SELECT

      IF @列03 に値があれば...
        SELECT
      ・
      ・
    ELSE IF
    
  ELSE IF
  ELSE IF

END

お力お貸し下さい。


引用返信 編集キー/
■62150 / inTopicNo.2)  Re[1]: SQLserver ストアド 複数条件で検索
□投稿者/ ペイリン (3回)-(2011/09/25(Sun) 16:43:56)
> 全条件を、IFで記述するなんてバカげた事はないと思いますし...

当然、そうなります。

ところで、ストアドを使う理由は何でしょうか?
SELECT文だけのストアドならば、VB側でSELECT文を条件に応じて作成して、
SQL Serverに投げるだけでいいと思うのですが。。。
引用返信 編集キー/
■62154 / inTopicNo.3)  Re[2]: SQLserver ストアド 複数条件で検索
□投稿者/ hs (268回)-(2011/09/25(Sun) 18:19:12)
No62150 (ペイリン さん) に返信

回答ありがとうございます

> 当然、そうなります。

そうなんですね^^;

> SQL Serverに投げるだけでいいと思うのですが。。。

その方法でやることにします。

また何かあった時はよろしくお願いします。
解決済み
引用返信 編集キー/
■62192 / inTopicNo.4)  Re[3]: SQLserver ストアド 複数条件で検索
□投稿者/ COCOE (4回)-(2011/09/27(Tue) 14:14:36)
No62154 (hs さん) に返信
> ■No62150 (ペイリン さん) に返信
>
> 回答ありがとうございます
>
>>当然、そうなります。
>
> そうなんですね^^;
>
>>SQL Serverに投げるだけでいいと思うのですが。。。
>
> その方法でやることにします。
>
> また何かあった時はよろしくお願いします。

解決されているのでナンですが、一応こんな方法も。
検索条件未入力の場合は空文字が飛んできてるという前提で。

Select 項目 From テーブル
Where (@列01 = '' Or 列01 = @列01)
And (@列02 = '' Or 列02 = @列02)
And ・・・
And (@列10 = '' Or 列10 = @列10)
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -