内部加入动态表

时间:2015-11-09 14:09:35

标签: sql sql-server inner-join

我查看了Feed,看看是否有答案,但没有运气。我想使用INNER JOIN将此输出的结果连接到另一个表。我试过这样做我最了解但是一直都是错误的。是否有一段简单的代码可供使用?

我在其他帖子上看到一些建议您将此查询的结果填充到临时表中,然后从@SQL语句外部加入,但我又没有运气在此语法中创建临时表。

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

提前致谢

2 个答案:

答案 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