0
我有两个表,联系人,帐户。我想创建一个将得到与相同父相关记录数的一般功能,这里是我有:SQL Server兄弟会记录计数
CREATE FUNCTION [dbo].[SiblingCount](
@IDValue Integer
)
RETURNS Integer AS
BEGIN
DECLARE @Result integer
Select @Result = Count(a.AccountID)
from Account a
where a.Status <> 'Active' and
a.ContactID = (select a2.ContactID
from Account a2 where a2.Accounnts = @IDValue)
RETURN @Result
END
GO
有没有更好的办法做到这一点?
谢谢,我使用的函数返回计数和我收到Msg 444,Level 16,State 2,Procedure SiblingCount,Line 8包含在函数中的选择语句不能将数据返回给客户端。 –
如果你真的需要一个返回标量int值的函数,你必须做你已经做过的事情:声明一个变量,使用'SELECT @ Result = Count(*)... WHERE c.ContactID = @IDValue'(你在这种情况下可以放弃'GROUP BY')并返回变量...但是我怀疑,这是最好的方法......气味非常程序化...... – Shnugo