我查看了Feed,看看是否有答案,但没有运气。我想使用INNER JOIN将此输出的结果连接到另一个表。我试过这样做我最了解但是一直都是错误的。是否有一段简单的代码可供使用?
我在其他帖子上看到一些建议您将此查询的结果填充到临时表中,然后从@SQL语句外部加入,但我又没有运气在此语法中创建临时表。
SELECT @Table_Name = Result_ID FROM #TmpResults
SET @SQL = 'SELECT * From [SERVER].[DATABASE].[dbo].'+@Table_Name
提前致谢
答案 0 :(得分:2)
为什么不在您创建的变量中继续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'
答案 1 :(得分:1)
您无法将它们保存到临时表中,因为执行它时,SQL不会超出动态SQL查询。
但您可以保存到永久表中。
SELECT @Table_Name = Result_ID FROM #TmpResults
SET @SQL = 'SELECT * INTO NewTable From [SERVER].[DATABASE].[dbo].'+@Table_Name