--假定 T_State.NO 和T_Proj.NO都是字符串型数据
SELECT T_Proj.* ,T_State.StateProc AS StateProc FROM T_Proj
INNER JOIN T_State on charindex(T_State.NO, T_Proj.NO)<>0
WHERE T_Proj.ID = 1

解决方案 »

  1.   

    我也是遇到这个问题问题在于T_Proj.NO是Varchar '10,20,30,40' ,它会在10,20,30,40两边加上单引号,但是我们又没有办法去掉这个单引号是否可以尝试把T_State.NO转成字符串型,然后把T_Proj.NO的“,”号替换为“','”
      

  2.   

    to: filebat(Mark)
         你的方法可以,但有没有其他的方法啊?
         如果没有其他的,我就结帖了
      

  3.   

    SELECT T_Proj.* ,T_State.StateProc AS StateProc FROM T_Proj
    INNER JOIN T_State on charindex(cast(T_State.NO as varchar)+',', T_Proj.NO+',')<>0
    WHERE T_Proj.ID = 1
      

  4.   

    看这样可以吗SELECT T_Proj.* ,T_State.StateProc AS StateProc 
    FROM T_Proj
    INNER JOIN T_State on T_State.NO IN (select * T_Proj.NO from T_Proj)
    WHERE T_Proj.ID = 1
      

  5.   

    SELECT T_Proj.* ,T_State.StateProc AS StateProc FROM T_Proj
    INNER JOIN T_State on charindex(','+cast(T_State.NO as varchar)+',',','+T_Proj.NO+',')>0
    WHERE T_Proj.ID = 1