私たちは4つの変数を受け取り、1つのint結果を返す関数を持っています。 テーブル内のすべてのレコードに対してこの関数を使いたいのですが、4つの変数は各レコードから取得します。sqlのループ内の関数をどのように集計できますか?
どうすれば解決できますか?
My機能:
CREATE FUNCTION dbo.occupiedDaysPerListingFunction(@CheckIn date, @CheckOut date, @Email varchar(80), @Title varchar(50))
RETURNS int
AS
BEGIN
DECLARE @nightsInRange int
select @nightsInRange= (CASE
WHEN DATEDIFF(day,@CheckIn,getdate()) >0 and DATEDIFF(day,@CheckOut,getdate())+100 <0 THEN 100
WHEN DATEDIFF(day,@CheckIn,getdate()) >0 and DATEDIFF(day,@CheckOut,getdate())+100 >0 THEN DATEDIFF(day,getdate(),@CheckOut)
WHEN DATEDIFF(day,getdate(),@CheckIn) >0 and DATEDIFF(day,getdate(),@CheckIn) <100 and DATEDIFF(day,@CheckOut,getdate())+100 >0 THEN DATEDIFF(day,@CheckIn,@CheckOut)
WHEN DATEDIFF(day,getdate(),@CheckIn) >0 and DATEDIFF(day,getdate(),@CheckIn) <100 and DATEDIFF(day,@CheckOut,getdate())+100 <0 THEN DATEDIFF(day,@CheckIn,getdate())+100
WHEN DATEDIFF(day,@CheckIn,getdate()) <0 THEN 0
END)
FROM [dbo].[ORDERS] o
WHERE o.[E-mail] = @Email and o.[title][email protected]
RETURN @nightsInRange
end
質問のタイトルに「sum」と記載されていますが、質問には表示されません。何故なの? – HABO