• richardmgreen1 (4/19/2013)


    Hi Sean

    What I'm trying to do is use some sort of variable in the where clause instead of a huge list of employee IDs (I'm open to suggestions).

    One of the queries I need to update has the same set of employee IDs in twice (the where clause is split by an OR) which, as you can probably imagine) makes life a bit awkward.

    The rough syntax of what I want to do is this:-

    declare @variable varchar(1000)

    set @variable='3661214,1604552,1604914,1604909,1602526,1602181,9667061,1600558'

    select

    columns here

    from

    table here

    where

    employee ID in @variable

    As I said in my first post you can't use a variable like that. You have to either parse the string or use dynamic sql. It is hard to say what the best approach is because your example is so out of context.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/