来自多个数据库的SQL“ LEFT JOIN”,数据库名称可变

我正在尝试查询现有的SQL服务器,该服务器的结构与我以前使用的结构完全不同。该服务器管理公司的物料清单(BOM)。出于某种原因,这是为了使每个项目都有自己的数据库而设置的。有一个单独的数据库(“项目”)来保存每个项目的基本信息。

我的目标是在“项目”数据库中返回满足条件的所有项目的列表,并在其BOM中包含某个组件。

我可以在“项目”数据库上运行一个简单的SELECT命令,以提出所有符合第一个条件的项目。例如,假设我要返回(3x)具有int值(87,89,93)的项目。

我的挑战是,我现在需要检查这些(3个)项目的BOM,以查看它们是否满足我的第二个条件。我基本上需要在搜索结束时添加一个“ WHERE”条件,如下所示。

WHERE (SELECT COUNT(item) FROM [PROJECT_87].[dbo].[BOM] WHERE item like '%ComparePN%') > 0 I'm stumped by figuring out how to change the name of the database "PROJECT_87" for each of the returned projects (87,89,93). I know I can use the SET + REPLACE commands to do the actual replacing of the '87' with the other project numbers. I don't know how to go through all 3 results and perform the SET + REPLACE command for each row to evaluate if the row should stick around.

有什么想法吗?