如果我想在MSSQL中描述一个表,我可以这样做:
exec sp_columns @table_name
我怎么能用结果集做同样的事情? 说我有类似
的东西SELECT DISTINCT
t3.ID,
t4.ID
FROM
t2 INNER JOIN
t3 on t3.ID = t2.t3ID INNER JOIN
t4 on t4.ID = t3.t4ID
并希望运行类似
的内容exec sp_columns @table_name = (SELECT DISTINCT
t3.ID,
t4.ID
FROM
t2 INNER JOIN
t3 on t3.ID = t2.t3ID INNER JOIN
t4 on t4.ID = t3.t4ID
)
为了获得我的结果集的描述。
答案 0 :(得分:2)
听起来您希望自己的adhoc结果集具有sp_columns
的功能。
听起来好像是从这个结果集创建一个临时表。请考虑使用SELECT INTO
。你不会知道结构。
以下是概念证明:
SELECT * INTO ##newtable
FROM (SELECT DISTINCT
t3.ID,
t4.ID
FROM
t2 INNER JOIN
t3 on t3.ID = t2.t3ID INNER JOIN
t4 on t4.ID = t3.t4ID
) as b
SELECT * FROM ##newtable