declare @str varchar(8000) set @str='' select @str=@str+'union all select bid,xmmc from a inner join b on a.bid=b.id inner join'+ table_name+'on '+table_name+'a.table_id='+table_name+'.id' from aset @str = substring(@str,10,len(@str)-10)exec(@str)
不好意思,刚才没有调试,有写bug,下面是完全正式版 declare @str varchar(8000) set @str='' select @str=@str+'union all select bid,xmmc from a inner join b on a.bid=b.id inner join '+ table_name+' on a.table_id='+table_name+'.id ' from aset @str = substring(@str,10,len(@str)-9)print @strexec(@str
自己搞晕了。关键是 表A中的Table_name是动态的 id Bid table_name table_id
表base是根据表A的table_name来得到的。
set @str=''
select @str=@str+'union all select bid,xmmc from a inner join b on a.bid=b.id inner join'+ table_name+'on '+table_name+'a.table_id='+table_name+'.id'
from aset @str = substring(@str,10,len(@str)-10)exec(@str)
declare @str varchar(8000)
set @str=''
select @str=@str+'union all select bid,xmmc from a inner join b on a.bid=b.id inner join '+ table_name+' on a.table_id='+table_name+'.id '
from aset @str = substring(@str,10,len(@str)-9)print @strexec(@str
表A中的Table_name是动态的
id Bid table_name table_id