两个表之间进行连接查询 暂定为主表和附表 但是附表是不确定的 它是由主表当中一个字段的值
确定的也就是说主表中每读一条记录都将与不同的表进行连接查询,请问这样sql语句该如何写如何在sql中判断吓一跳记录该与哪个表连接呢?...
确定的 也就是说 主表中每读一条记录都将与不同的表进行连接查询,请问这样sql语句该如何写 如何在sql中判断吓一跳记录该与哪个表连接呢?
展开
1个回答
展开全部
用动态sql可以做。
假设主表为tt_A,其数据如下。其中id是主键,table_name指明了附表名称。
附表tt_B数据如下。其中id用来连接主表
附表tt_C的结构与tt_B相同,但数据不同。
那么通过下面的语句:
declare @sql varchar(8000);
set @sql='';
select @sql=@sql + 'union all
select a.id,'+table_name+'.value from tt_A a
inner join '+table_name+' on a.id='+table_name+'.id where a.table_name='''+table_name+''' '
from (select distinct table_name from tt_A) b
select @sql='select * from ('+stuff(@sql,1,9,'')+') c order by id'
--select @sql
exec(@sql)
得到的查询结果为:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询