我有一个存储过程,它根据记录中包含的信息和其他表中的一些信息计算给定记录的特殊值。我想编写一个查询,该查询返回一个包含每条记录的常规信息的结果表,并在新列中添加每条记录的计算值。例如,我想要这样的东西:
SELECT
[id] as Name,
[shape] as Shape,
[color] as Color,
EXEC FindCode
@id = [id]
@shape = [shape]
@color = [color]
as Code
FROM Shapes
使用与上述“伪”代码等效的情况,我希望得到这样的结果集:
Name | Shape | Color | Code
-----+---------+-------+-----
AB | Circle | Blue | 4276
BC | Square | Red | 9825
CD | Rect | Gray | 3723
其中名称、形状和颜色已作为 id、形状和颜色包含在表中,但“代码”是使用存储过程计算的。在 SQL Server 2008 R2 中执行此操作的最佳方法是什么?