2016-10-14 2 views
1

現在、SAP Hana SPS12にはWindow Functionsの問題があります。SAP Hana - STRING_AGG問題ORDER BY CRAUSE

STRING_AGG機能を使用しているときに、私たちの間違いの1つがあります。ここで

はコードです:

/* 
CREATE TABLE TEST_STR_AGG (
    GROUP_ID varchar(1) 
    , CLASS_ID varchar(5) 
    , MEMBER varchar(5) 
); 
*/ 

TRUNCATE TABLE TEST_STR_AGG; 

INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX1', 'A0001'); 
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX1', 'A0002'); 
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX1', 'A0003'); 
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX2', 'A0004'); 
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX2', 'A0005'); 
INSERT INTO TEST_STR_AGG VALUES ('A', 'A_XX3', 'A0006'); 
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX1', 'B0001'); 
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX2', 'B0002'); 
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX3', 'B0003'); 
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX4', 'B0004'); 
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX4', 'B0005'); 
INSERT INTO TEST_STR_AGG VALUES ('B', 'B_XX4', 'B0006'); 

SELECT GROUP_ID 
    , CLASS_ID 
    , STRING_AGG(MEMBER, ' ; ' **ORDER BY MEMBER ASC**) as MEMBERS 
FROM TEST_STR_AGG 
GROUP BY GROUP_ID 
    , CLASS_ID ; 

パッチをインストールする前にORDER BY句で完璧に動作するために使用さSTRING_AGG。さて、私はあなたに与えている例で動作するように、それは少しのボリュームで作業しています。 500k行以上で作業しているときには、の中にORDER BYという句を追加すると、という結果から一部の行が消えてしまいます。STRING_AGGもしそうでなければ、それは機能します。
FIRST_VALUELAST_VALUEの機能に同じ問題があります。

それは結果を破損されたコア最適化ルールのようです...

誰もが、このことについて何かをしてください知っていますか?

感謝

答えて

2

うん、それは既知のバグです。 SAPノートをすぐに準備する必要はありませんが、現在のリビジョンで修正されています。集計関数AVG()戻り値 -

2365540: -

/

はこのためにSAPノートを発見されましたか?/NULL値を

ソリューションは、SAP HANAデータベースの改訂> = 112.07(SPS11)または> = 122.02(SPS12)を適用 ORDER BY節を含めSTRING_AGGと組み合わせて使用​​します。

- 実際には/

+0

私たちは9月の23日には、122.02を適用するので、我々は)このバグを持って始めました!また、2つの集計関数の組み合わせにはリンクされていませんが、大きな集まりには1つのみが関連付けられています。 – KrasshX

+1

この場合、最新のリビジョンで修正を得るためにサポートインシデントを開く必要があります。 –

+0

"Order By"はバージョン1.00.122.04で動作するデータベースでLarsとして動作します – Eralper