当前位置: 代码迷 >> Sql Server >> 水准有限,真被搞晕了,两个关系表之间的检测
  详细解决方案

水准有限,真被搞晕了,两个关系表之间的检测

热度:36   发布时间:2016-04-24 09:05:10.0
水平有限,真被搞晕了,两个关系表之间的检测
一个班级信息表:

CREATE TABLE [dbo].[TBC_MB_COMM_ClassInfo](
[ClassID] [int] IDENTITY(1,1) NOT NULL,
[ClassName] [nvarchar](120) NOT NULL,
[OwnerID] [nvarchar](60) NULL
)


另外一个是班级中人员关系表

CREATE TABLE [dbo].[TBC_MB_UsrClassRL](
[UsrID] [int] NOT NULL,
[ClassID] [int] NOT NULL,
[UsrRole] [int] NULL,



现在需要动态SQL,不是存储过程,传入参数, classid  和 userid

要求检索返回 ClassID, 条件是班级编号 = classid 且 OwnerID = userid 
或者 班级编号 = classid 且 UsrID = userid 且 UsrRole > 5




------解决思路----------------------
--试试

declare @str varchar(100)
declare @classid int,@userid int
set @classid='2006' 
set @userid='1007'
set @str=''
set @str=@str+'select classid '+'from TBC_MB_UsrClassRL'+' where classid'+'='+cast(@classid as varchar(10))+' and usrid'+'='+CAST(@userid as varchar(10))+' and usrrole'+'>5'
print @str
exec(@str)
  相关解决方案