Results 1 to 3 of 3

Thread: select where left in left

  1. #1
    Join Date
    Apr 2006
    Posts
    178

    select where left in left

    hello

    for MS SQL 2000, i cannot get it

    i am having names like AB_12 I want to get all rows with left part similar , AB im that case


    SELECT id, name
    FROM Users
    WHERE LEFT(name, CHARINDEX('_', name) - 1) AS name IN
    (
    SELECT LEFT(name, CHARINDEX('_', name) - 1) AS ns
    FROM Users
    GROUP BY LEFT(name, CHARINDEX('_', name) - 1)
    HAVING (COUNT(*) > 1)
    )



    does not work



    is there any way to use a variable ?

    declare @nm nvarchar
    set @nm = SELECT LEFT(name, CHARINDEX('_', name) - 1) AS ns
    FROM Users


    thank you for helping
    Last edited by anselme; 12-20-2006 at 05:48 AM.

  2. #2
    Join Date
    Nov 2002
    Location
    New Jersey, USA
    Posts
    3,932
    Try this

    SELECT id, name
    FROM Users
    WHERE LEFT(name, CHARINDEX('_', name) - 1) IN
    (
    SELECT LEFT(name, CHARINDEX('_', name) - 1)
    FROM Users
    GROUP BY LEFT(name, CHARINDEX('_', name) - 1)
    HAVING COUNT(*) > 1)
    )

  3. #3
    Join Date
    Apr 2006
    Posts
    178
    thank you

    it works with

    WHERE CHARINDEX('_', name) > 0
    AND LEFT(name, CHARINDEX('_', name) - 1) IN

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •