我正在尝试创建一个视图,它将根据Nett的最高总和返回APPROVER。我可以返回nett值的总和,但有些情况下会有多个'代码'使用,因此我的视图可以返回2行或更多行。要求是根据最高的Nett返回APPROVER。
以下是我的观点:
CREATE VIEW UDF_APPROVER
AS
WITH UDF_BUDGAPPROVER (_ID , USERID , Nett , ANALYSIS)
AS
(
ISNULL(HEADER_PRIMARY,0) '_ID',
INITIATOR_ID as 'USERID',
SUM(NETT) AS 'Nett',
ANALYSIS
FROM ORDER_HEADER
JOIN ORDER_DETAIL ON HEADER_PRIMARY = HEADER_LINK
GROUP BY
HEADER_PRIMARY,
INITIATOR_ID
ANALYSIS
)
SELECT
Nett ,
__PR_ID ,
__USER_ID ,
NCATEGORYCODE5 AS 'APPROVER' ,
CODE ,
FROM GENERAL_ACCOUNTS
JOIN UDF_BUDGAPPROVER ON CODE = ANALYSIS
WHERE _ID = 15
GUI将传入_ID,因此它将始终只返回我想要的DETAIL行。
我需要返回一行以将APPROVER作为TR01返回,因为1-2102-60具有最高的净值。
我认为我需要沿着使用功能的路线前进。
我希望这是有道理的,任何帮助都将受到赞赏!