从存储过程得到的TSQL最大值是最有效的方法
我需要根据子对象的值确定对象的最大值从存储过程得到的TSQL最大值是最有效的方法,sql,sql-server,tsql,Sql,Sql Server,Tsql,我需要根据子对象的值确定对象的最大值 exec GetSubObjects @ID = ID 生成状态为int的子对象的结果集 我需要该结果集中的最高状态 有没有办法直接对结果集进行聚合?您可以使用表变量并在那里插入结果 DECLARE @T TABLE( COL1 INT ) INSERT INTO @t exec GetSubObjects @ID = ID 然后你们在表中有结果,所以你们可以做任何你们喜欢的事情 SELECT MAX(COL1) FROM @T GetS
exec GetSubObjects @ID = ID
生成状态为int的子对象的结果集
我需要该结果集中的最高状态
有没有办法直接对结果集进行聚合?您可以使用表变量并在那里插入结果
DECLARE @T TABLE(
COL1 INT
)
INSERT INTO @t
exec GetSubObjects @ID = ID
然后你们在表中有结果,所以你们可以做任何你们喜欢的事情
SELECT MAX(COL1) FROM @T
GetSubObject的返回类型是什么?如果它是一个表,你可以在from子句中使用它。只是一个结果集,你在考虑使用输出吗?这正是我得到的。我做了一些关于不必定义表var/temp表的研究,似乎对使用OPENROWSET()有不同的评价。我现在有一个问题,我最终想要得到的是一个外部对象的结果集,每个对象的状态都基于select max。函数有意义,但似乎你不能在函数中运行exec。。。