在sql 查询语句中遇到一个问题,记录一下
declare @sql varchar(200)
declare @str Nvarchar(2000)
set @str=' 1=1 and OperatorName like ''%李%'' and o.RoleID=3 order by OperatorID'
set @sql='select OperatorID,OperatorName,OperatorPwd,o.RoleID,r.RoleName,o.memo from tb_operator o left join tb_role r on o.RoleID = r.RoleID
where '+@str
exec(@sql)
运行后提示如下错误:
消息 102,级别 15,状态 1,第 2 行
'by' 附近有语法错误。
当去掉 order by OperatorID 后能够正常查询,为什么?为什么?
直接执行该sql 语句时可以的,这是为什么,为什么呢?记录一下