http://topic.csdn.net/u/20090430/10/9a04439e-b87e-4d81-9f73-a010f0b1e0be.html
拆分字符的

解决方案 »

  1.   

    SELECT ACCOUNT =
    CASE 
    WHEN ID=1 THEN 'AAA'
    WHEN ID=2 THEN 'BBB'...ENDFROM TB 
      

  2.   

    DECLARE @TA TABLE(ID INT, USERS VARCHAR(10))
    INSERT @TA
    SELECT 1, '1,2,3,4,5' UNION ALL
    SELECT 2, '3,4,5'DECLARE @TB TABLE([ID] INT, [ACCOUNT] VARCHAR(2))
    INSERT @TB 
    SELECT 1, 'AA' UNION ALL 
    SELECT 2, 'BB' UNION ALL 
    SELECT 3, 'CC' UNION ALL 
    SELECT 4, 'DD' UNION ALL 
    SELECT 5, 'EE'SELECT A.ID,B.ID,B.ACCOUNT
    FROM @TA AS A, @TB AS B
    WHERE CHARINDEX(','+RTRIM(B.ID)+',',','+USERS+',')>0
    ORDER BY A.ID,B.ID
    /*
    ID          ID          ACCOUNT
    ----------- ----------- -------
    1           1           AA
    1           2           BB
    1           3           CC
    1           4           DD
    1           5           EE
    2           3           CC
    2           4           DD
    2           5           EE(8 row(s) affected)
    */
      

  3.   

    DECLARE @TA TABLE(ID INT, USERS VARCHAR(10))
    INSERT @TA
    SELECT 1, '1,2,3,4,5' UNION ALL
    SELECT 2, '3,4,5'DECLARE @TB TABLE([ID] INT, [ACCOUNT] VARCHAR(2))
    INSERT @TB 
    SELECT 1, 'AA' UNION ALL 
    SELECT 2, 'BB' UNION ALL 
    SELECT 3, 'CC' UNION ALL 
    SELECT 4, 'DD' UNION ALL 
    SELECT 5, 'EE'怎么写才能得到下面的结果:/*
    ID          ACCOUNT
    ----------- -------
    1           AA,BB,CC,DD,EE
    2           CC,DD,EE(2 row(s) affected)
    */