gpt4 book ai didi

tsql - SQL 从多个表连接

转载 作者:行者123 更新时间:2023-12-01 19:49:30 26 4
gpt4 key购买 nike

我们有一个系统(基于 MS SQL 2008 R2),它有多个“输入”数据库和一个“输出”数据库。我想编写一个将从输出数据库中读取的查询,并将其 JOIN 到其中一个源数据库中的数据。但是,源表可能是一个或多个单独的表:(源数据库的名称包含在输出数据库中;理想情况下,我想做类似下面的事情(伪 SQL 啊)

select o.[UID]
,o.[description]
,i.[data]
from [output].dbo.[description] as o
left join (select [UID]
,[data]
from
[output.sourcedb].dbo.datatable
) as i
on i.[UID] = o.[UID];

有什么方法可以做类似上面的事情 - “动态地”为查询中的每一行指定要连接的数据库和表?

最佳答案

尝试使用 exec 函数,然后将选择指定为字符串,并在适当的地方为数据库名称和表添加变量。简单示例:

DECLARE @dbName VARCHAR(255), @tableName VARCHAR(255), @colName VARCHAR(255)
...
EXEC('SELECT * FROM ' + @dbName + '.dbo.' + @tableName + ' WHERE ' + @colName + ' = 1')

关于tsql - SQL 从多个表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com