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