select a.type,b.xmmc from 表B a join 表base b  on  a.id=b.id

解决方案 »

  1.   

    不好意思说得不太明白,
    表base是根据表A的table_name来得到的。
      

  2.   

    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)             
        
      

  3.   

    不好意思,刚才没有调试,有写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
      

  4.   

    自己搞晕了。关键是
    表A中的Table_name是动态的
    id   Bid   table_name   table_id
      

  5.   

    iswear428() 可以把你的测试数据库发给我吗谢了。