总表:A表
ID SN cCName
1 111111L B表(表名)
2 222222L C表(表名)
3 333333L D表(表名)
重要备注:A表里面的数据是不能确定有多少条,现在举例3条,可以了会有30条,甚至100条,所以不能把Sql语句外联写死噢,(反正A表有的表名,一定会有相对于的子表,)不知道描述的清楚了吗?
子表:B表
ID SN KeyCode
1 111111L aaaaaa
2 111111L bbbbbb
3 111111L cccccccc
子表:C表
ID SN KeyCode
2 222222L ddddddd
3 222222L eeeeeeee
4 222222L fffffffffffff
子表:D表
ID SN KeyCode
2 333333L gggggggg
3 333333L hhhhhhh
4 333333L iiiiiiiiiiiiiiiiii
想要的结果:List总表
ID SN KeyCode
1 111111L aaaaaa
2 111111L bbbbbb
3 111111L cccccccc
4 222222L ddddddd
5 222222L eeeeeeee
6 222222L fffffffffffff
7 333333L gggggggg
8 333333L hhhhhhh
9 333333L iiiiiiiiiiiiiiiiii
哥们啊,这只是做一个3个表的列子啊!可能会有很多的表啊,你要看他们的关系噢
------解决方案--------------------------------------------------------
sql2005:
DECLARE @SS VARCHAR(1000)
SET @SS=''
SELECT @SS=@SS+'select * FROM '+rtrim(cCName)+' UNION all ' FROM TT
set @ss='select * from ('+left(@ss,len(@ss)-10)+') r'
select @ss
exec(@ss)