动态内部联接 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
我查看了提要,看看是否有对此的答案,但没有任何运气。我想使用 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