Wrox Home  
Search P2P Archive for: Go

  Return to Index  

sql_language thread: Query filter


Message #1 by "Catalin Ignat" <cignat@s...> on Mon, 13 Jan 2003 19:44:39 +0200
Sure,

this is a valid approach, but in reality I have many columns (I put only 2
to help you understand my question better) - so an IF ... ELSE approach will
generate many code pages :).

Thanks,
Catalin

----- Original Message -----
From: "Jonas Skafte Jensen" <jskaftejensen@h...>
To: "sql language" <sql_language@p...>
Sent: Monday, January 13, 2003 8:24 PM
Subject: [sql_language] Re: Query filter


> My version:
>
> DECLARE @Filter NVARCHAR
> DECLARE @Column BIT
>
> SELECT @Column = 0
> SELECT @Filter = '3'
> IF @Column = 1
>  BEGIN
>   SELECT * FROM Table1 WHERE ColumnB LIKE '%' + @Filter + '%'
>  END
> ELSE
>  BEGIN
>   SELECT * FROM Table1 WHERE CAST(ColumnA AS NVARCHAR) LIKE '%' + @Filter
+
> '%'
>  END
>
> ----- Original Message -----
> From: "Catalin Ignat" <cignat@s...>
> To: "sql language" <sql_language@p...>
> Sent: Monday, January 13, 2003 6:44 PM
> Subject: [sql_language] Query filter
>
>
> > Hello,
> >
> > For a select query I have 2 columns which I can use for filtering:
column
> A
> > is int and column B is varchar.
> > Into a stored procedure I receive:
> >     @Filter - the filter string, this is varchar.
> >     @Column - flag indicating the column which I want to use for
> filtering,
> > this is bit.
> >
> > Well, how can I put all this into one select, using some CASE command?
> > To be more explicit, this is what I have tried:
> >     SELECT * FROM Table1 WHERE CASE @Column WHEN 0 THEN ColumnA ELSE B
END
> > LIKE @Filter
> >
> > This is not working.
> >
> > Thanks,
> > Catalin
> >
> >
> >
>


  Return to Index