每個之前選擇從表中添加一個SELECT NULL,NULL,'tableName'; (添加儘可能多的NULL作爲表列,以便所有的聯合不'失敗'或者,而不是NULL使用' - '或任何其他
我猜表循環和獲取列名不應該是一個問題..
以下演示:??
create table #t1(C1 int, C2 int)
create table #t2(C1 int, C2 int)
insert #t1 (C1, C2) values (1,2)
insert #t2 (C1, C2) values (3,4)
insert #t2 (C1, C2) values (5,6)
declare @t1 varchar(10) = '#t1';
declare @t2 varchar(10) = '#t2';
declare @cols varchar(100) = 'C1, C2';
declare @sql nvarchar(4000) = ''
set @sql =
' SELECT NULL, NULL, ''' + @t1 + ''' ' + char(10) + char(13) +
' UNION ALL ' + char(10) + char(13) +
' SELECT '+ @cols +', NULL FROM ' + @t1 + char(10) + char(13) +
' UNION ALL ' + char(10) + char(13) +
' SELECT NULL, NULL, ''' + @t2 + ''' ' + char(10) + char(13) +
' UNION ALL ' + char(10) + char(13) +
' SELECT '+ @cols +', NULL FROM ' + @t2
-- select @sql
exec (@sql);
,你在哪裏有對錶中的記錄用戶在DB – Mohamed 2014-11-25 10:26:31
數據本身就是在這個問題上不相關的 – 2014-11-25 10:29:53
你必須知道的範圍內或表名,以工會它們。 – Mohamed 2014-11-25 10:30:55