~~~~~帮忙看看这条SQL语句,听纠结的
1.首先是一个表FolderManager ,有字段ID,FolderName
2.有一个表FileManager,里面是记录文件信息,有字段 ID,FolderID,FileName
3.有一个表FileRight,通过FileID跟表FileManager关联
有一个字段是InfoUserIDs,类型为字符串
如 1,2,3,4
4.有一个表 InfoUser
字段有ID,Name 等等
我现在想查询 用户存在于InfoUserIDs里的文件,
现在是这样写的
declare @ID int, @UID int set @ID=1 set @UID=1 select * from FileManager where FolderID =(select ID from FolderManager where ID=@ID) and ID in(select FileID from FileRight where InfoUserIDs like '%'+CAST(@UID as varchar(20))+'%')
where ','+InfoUserIDs+',' like '%,'+CAST(@UID as varchar(20))+',%')
[解决办法]
charindex
[解决办法]
try this,
declare @ID int, @UID int set @ID=1 set @UID=1 select * from FileManager where FolderID =(select ID from FolderManager where ID=@ID) and ID in(select FileID from FileRight where charindex(CAST(@UID as varchar(20))+',',InfoUserIDs)>0)