Re: SQL query

From: Wilhelm Hannemann <wilhelm.hannemann_at_tu-clausthal.de>
Date: Thu, 19 Feb 2004 06:53:14 +0100
Message-ID: <c11j03$m39$1_at_ariadne.rz.tu-clausthal.de>


PRatcliff schrieb:
> Hello,
>
> I am constructing a stored procedure to run based on user input. What
> I WANT to do is basically this:
>
> SELECT *
> FROM tableA A
> join tableB B
> on A.idfield = B.idfield
> WHERE CASE WHEN _at_userinput = 'A'
> THEN A.datefieldA BETWEEN _at_startdate AND @enddate
> ELSE B.datefieldB BETWEEN _at_startdate AND @enddate END
>
[...]
>
> I know I can't use CASE in the above fashion, but I want to use a
> single query to pull data where the 'where' field can change depending
> upon the user's selection. How can I change the contstraint field in
> the WHERE clause based on a variable value?
>
> Thanks in advance & cheers,
> PRatcliff

SELECT *
FROM tableA A
join tableB B
on A.idfield = B.idfield
WHERE (_at_userinput =A AND A.datefieldA BETWEEN @startdate AND @enddate)

   OR (_at_userinput!=A AND B.datefieldB BETWEEN @startdate AND @enddate)

HTH
Wilhelm Received on Thu Feb 19 2004 - 06:53:14 CET

Original text of this message