declare @id int
declare @level int
declare @sql varchar(500)
declare @table table(id int ,name varchar(100))set @id =6084if not exists(select id ,name from table where id=@id)
begin 
set @sql='select ''该管理片区ID不存在'',-1'
end
else if @id=1
begin
set @sql='select id ,name from table where level=1'
endelse
begin
select @level=level from table where id=@id
set @sql='select id,name from table where Level'+convert(varchar(50),@level)+'_SuperID='+convert(varchar(50),@id)+' and level ='+convert(varchar(50),@level+1)
insert into @table exec(@sql)
if not exists(select * from @table)
begin
set @sql='select ''无下级管理片区'',0'
end
else 
begin
set @sql='select * from @table'
end
endexec(@sql)
我用的mssqlsrv的pdo读取,为什么“无下级管理片区”那行在sql中运行没问题,到php就读取就是空呢,不懂了。求助大家。和@table有什么关系吗?