我是如何在从先前连接的表中的数据中检索的表上创建连接的?例如,我有一个对象表,其中包含现有的表名,这些表的显示字段以及这些表的主ID字段。我想加入对象表中指定的表以及对象表。
select T.field1,T.field2,T.field3,O.DisplayName
from tableT as T
inner join objects as O on T.SystemObjectID = O.SystemObjectID
inner join O.TableName as X on X.O.ID = T.SystemObjectRecordID
我理解上面的脚本不正确。但是,完成此任务的最简单最有效的方法是什么?我希望我清楚我要问的是什么......
感谢您提前提供任何帮助。
答案 0 :(得分:1)
你做不到。
您可以做的是获取结果并创建一个SQL查询字符串。
您甚至可以对该查询进行参数化并使用sp_executesql执行它 - 这个链接有一些很好的例子可以帮助你入门。
这是因为SQL在执行之前被编译为执行计划。此时,它需要知道表,决定要使用的索引等等。
这意味着数据是数据,sql是sql。您不能使用后期绑定脚本技巧来修改已在运行的查询。
我很害怕写SQL (动态SQL)的SQL。