我数据库中有一个字段 number  nvarchar 类型   值为  1,2,3,5,7现在想把他当作子查询条件SELECT [id] FROM [user] WHERE [id] not in (SELECT [number] FROM [fuer] WHERE [fid] =1 )
请问如何让这个语句顺利通过 也就是类型转换问题把

解决方案 »

  1.   

    select [id] from [user] where [id] not in (select convert(int,[number]) from ......)
      

  2.   

    SELECT [id] FROM [user] WHERE [id] not in (SELECT convert(int,[number]) FROM [fuer] WHERE [fid] =1 )
      

  3.   


    select t.id from [user] t,[fuser] t1
    where charindex(','+ltrim(id)+',',','+number+',')=0
    and t1.[fid] =1 
      

  4.   

    SELECT [id] FROM [user] WHERE charindex(','+[id]+',',','+(SELECT [number] FROM [fuer] WHERE [fid] =1)+',') > 0
    SELECT [id] FROM [user] WHERE charindex(','+[id]+',',','+(SELECT [number] FROM [fuer] WHERE [fid] =1)+',') = 0
     
    SELECT [id] FROM [user] WHERE charindex(','+cast([id] as varchar)+',',','+(SELECT [number] FROM [fuer] WHERE [fid] =1)+',') > 0
    SELECT [id] FROM [user] WHERE charindex(','+cast([id] as varchar)+',',','+(SELECT [number] FROM [fuer] WHERE [fid] =1)+',') = 0