select @allpath=(select top 1 dbo.ptype.fullname where dbo.ptype.typeid =left(@ptypeid,5*@layer) from dbo.ptype order by dbo.ptype.typeid)+'\'+@allpath这个语句From前面有Where,这肯定是不对的,是笔误吗? 可能应为:select @allpath=(select top 1 dbo.ptype.fullname from dbo.ptype where dbo.ptype.typeid =left(@ptypeid,5*@layer) order by dbo.ptype.typeid)+'\'+@allpath
select @allpath=(select top 1 dbo.ptype.fullname from dbo.ptype where dbo.ptype.typeid =left(@ptypeid,5*@layer) order by dbo.ptype.typeid)+'\'+@allpath 是不是这里有问题?怎么where 放前面了?
while @layer>=0还有left(@ptypeid,5*@layer)
改为:left(@ptypeid,5*@layer+1)
可能应为:select @allpath=(select top 1 dbo.ptype.fullname from dbo.ptype
where dbo.ptype.typeid =left(@ptypeid,5*@layer)
order by dbo.ptype.typeid)+'\'+@allpath
是不是这里有问题?怎么where 放前面了?