如何在表格 udf 中正确使用分组依据?

How to use group by in a tabular udf properly?

我正在尝试创建一个表格 UDF,它接受开始日期和结束日期,然后显示每个 employee_IDs 在该期间赚取的佣金。 我在这里尝试过,但在 employeeId 附近出现了错误的语法。

create Function CommissionByDate(@start_d date,@end_d date)
Returns table
As
Return
(
Select Employee_ID
  ,sum(dbo.OfferCommission(Offer_value, Offer_date)) as Commission 
from Campaign_Offer
where Acceptance_status = 'yes' And Offer_date >= @start_d And Offer_date <=   
@end_d group by Employee_ID

您好像忘记在 GROUP BY Employee_ID

后关闭括号
CREATE FUNCTION CommissionByDate
(
    @start_d DATE
    , @end_d DATE
)
RETURNS TABLE
AS
RETURN (
    SELECT Employee_ID, sum(dbo.OfferCommission(Offer_value, Offer_date)) AS Commission
    FROM Campaign_Offer
    WHERE Acceptance_status = 'yes'
        AND Offer_date >= @start_d
        AND Offer_date <= @end_d
    GROUP BY Employee_ID
    )

这应该有效