动态内部联接 Table

Inner Join on Dynamic Table

我查看了提要,看看是否有对此的答案,但没有任何运气。我想使用 INNER JOIN 将此输出的结果连接到另一个 table。我已尝试以我最了解的方式执行此操作,但一直出现错误。有一段简单的代码可以实现吗?

我在其他帖子上看到有人建议您将此查询的结果填充到临时 table 中,然后从 @SQL 语句之外的那个加入,但我还是没有在此语法中创建临时 table 运气好的话。

  SELECT @Table_Name = Result_ID FROM #TmpResults
  SET @SQL = 'SELECT * From [SERVER].[DATABASE].[dbo].'+@Table_Name

提前致谢

为什么不在您创建的变量中继续您的 SQL 语句。

SELECT @Table_Name = Result_ID FROM #TmpResults
SET @SQL = 'SELECT * From [SERVER].[DATABASE].[dbo].'+ @Table_Name + ' INNER JOIN dbo.Table2 ON dbo.Table2.Id = ' + @Table_Name + '.Table2Id'

您无法将它们保存到临时文件 table,因为在您执行动态 SQL 查询时,SQL 无法看到它。

但是您可以永久保存 table。

SELECT @Table_Name = Result_ID FROM #TmpResults
SET @SQL = 'SELECT * INTO NewTable From [SERVER].[DATABASE].[dbo].'+@Table_Name