Dan,
If I understand correctly, if the parameter = 0 then you want all states to
be included. Perhaps something like the following
....
RIGHT OUTER JOIN DESIGNATED_STATES
ON DESIGNATED_STATES.CASE_ID = PAT_CASE.CASE_ID
AND (DESIGNATED_STATES.STATE_ID IN (SELECT * FROM @DESIG)
OR EXISTS (SELECT * FROM @DESIG WHERE state_id = 0))
....
RLF
wrote in message
> Hi, I'm stuck with a fairly simple query (at least I think it might
> be).
>
> I need to retreive a selection of case_numbers that match the criteria
> set by a parameter value, but also I want to be able to bypass that
> part of the criteria if the parameter is '0' (ideally) or Null
>
> The problem is that the table is a Right join.
>
> Is this possible?
>
>
>
> Here is my code
>
> DECLARE @DESIG TABLE (state_id varchar(4))
> --INSERT INTO @DESIG (state_id)
> --SELECT 'PL'
> INSERT INTO @DESIG (state_id)
> SELECT 'ES'
> --INSERT INTO @DESIG (state_id)
> --SELECT '0'
> --INSERT INTO @DESIG (state_id)
> --SELECT 'NULL'
>
>
> SELECT PAT_REPORT_TABLE.CASE_NUMBER,
> DESIGNATED_STATES.STATE_ID,
> (Select [dbo].[wr_designations_list] (PAT_CASE.CASE_ID)) as
> DESIGNATED_COUNTRYS_LIST
> FROM PAT_CASE
> INNER JOIN PAT_REPORT_TABLE
> ON PAT_CASE.CASE_ID = PAT_REPORT_TABLE.CASE_ID
> INNER JOIN STATE_NAME
> ON PAT_CASE.STATE_ID = STATE_NAME.STATE_ID
> AND STATE_NAME.LANGUAGE_ID = 3
> RIGHT OUTER JOIN DESIGNATED_STATES
> ON DESIGNATED_STATES.CASE_ID = PAT_CASE.CASE_ID
> AND DESIGNATED_STATES.STATE_ID IN (SELECT * FROM @DESIG) ---///
> ** THIS IS WHERE I WANT TO ADD THE PARAMETER OPTION
>
> WHERE (PAT_CASE.STATE_ID IN ('EP'))
> ORDER BY PAT_REPORT_TABLE.CASE_NUMBER
>
>
>
>
> Thanks for any assistance >> Stay informed about: Left join with parameter option