一个 两个 数据库_A aaa ddd database_A 一个 两个 数据库_B 一个 两个 数据库_B 222 112database_B [/tr>一个 两个 database_c
我有那个查询
USE database_A /*it will change: database_B, c , d etc..*/
select X.Name1, X.Name2, DB_NAME() AS [Current Database]
from dbo.table1 A /*it will be the same table*/
left join
database_X.dbo.table_X X /*it will be the same database and table*/ on A.ID = X.ID_ID
我想得到一个结果,显示Name1和Name2的值以及创建它的上下文,例如:
当前数据库动态sql示例
-- list of DBs
create table dbs (dbn sysname);
insert dbs
values ('dbnameA'),('dbnameB'),('dbnameC');
-- build the query
declare @q varchar(Max);
select @q = string_agg(s, ' union all ')
from (
select 'select X.Name1, X.Name2, ''' + dbn + ''' AS [Current Database]' +
' from ' + dbn + '.dbo.table1 A' +
' left join database_X.dbo.table_X X on A.ID = X.ID_ID' s
from dbs) t
-- check it
select @q;
-- run it
exec (@q);