誰でも私はこのDb2のクエリ構文が間違っていることを理解するのに役立つことができますが、それはSQLCODE -120で失敗しています、なぜなら私はrow_number()DB2 - 集計関数の無効な使用SQLCODE = -120
SELECT COUNT(ORDER_ID) OVER() TOTAL_NO_OF_RECORDS,
ROW_NUMBER() OVER (ORDER BY CREATED_DATE DESC) AS ROW_NUM
FROM (
SELECT DISTINCT A.ORDER_ID ORDER_ID,
B.AgencyName AS AGENCY_NAME,
C.FirstName FIRST_NAME,
C.LastName LAST_NAME,
DEMOGRAPHIC.State STATE,
A.CreatedTS CREATED_DATE,
E.WritingTIN WRITING_TIN,
E.ParentTIN PARENT_TIN
FROM DBO.TABLE1 A
INNER JOIN
DBO.TABLE2 TABLE2 ON TABLE2.ORDER_ID=A.ORDER_ID
INNER JOIN
DBO.TABLE3 TABLE3 ON TABLE3.QuoteId=TABLE2.QuoteId
INNER JOIN
DBO.Demographic DEMOGRAPHIC ON
DEMOGRAPHIC.DemographicId=TABLE3 .DemographicId
INNER JOIN
DBO.Agent E ON E.AgentId=DEMOGRAPHIC.AgentId
INNER JOIN
DBO.User USER ON USER.WebAcctID=AGENT.WebAcctId
INNER JOIN
DBO.Shopper SHOPPER ON SHOPPER.ShopperId=DEMOGRAPHIC.ShopperId
LEFT OUTER JOIN
DBO.Subsidy D ON D.demographicId=DEMOGRAPHIC.demographicId
LEFT OUTER JOIN
DBO.Employer EMPLOYER ON DEMOGRAPHIC.demographicId=EMPLOYER.demographicId
WHERE E.WritingTIN = 'XYZ' AND E.ParentTIN = 'XYZ'
AND DEMOGRAPHIC.State='OH'
AND A.Status IN ('X','Y','Z')
)AS ORDER_DETAILS
where ROW_NUMBER() OVER (ORDER BY CREATED_DATE DESC) BETWEEN ((1*50)-50)+1 AND 1*50 ORDER BY CREATED_DATE DESC
示されたエラー:集約関数またはOLAP関数の使用が無効です。.. SQLCODE = -120、SQLSTATE = 42903、DRIVER = 4.18.60
LEFT JOINの場合は、右側のテーブル条件をON句に入れて、真のLEFT JOIN動作を取得します。 (WHEREで、あなたは定期的な内部結合の結果を得るでしょう...) – jarlh
@jarlhの問題は、join.itは集計関数の間違った使用法によるものではありません.i簡単な目的のためにクエリを変更しました。 SQLCODE = -120、SQLSTATE = 42903 – RVR
私のコメントは、問題を解決するためのものではなく、単に結合を改善するためのものです。 – jarlh