私のためにCOLLECT関数を使用しようとしています。私は10gを使用しているので、LISTAGGとWM_CONCATは動作しません(無効な識別子エラー)。私が持っているデータは、例えば以下の通りです。以下のものを使用して、VARCHAR2でCOLLECTを使用する方法Oracle 10g
Order Lot
123 A23088, A23089
089 AABBCC
305 120848, CCDDYY
を次のように私は戻っ必要なもの
Order Lot
123 A23088
123 A23089
089 AABBCC
305 120848
305 CCDDYY
があり、私はエラーを取得:TO_STRINGは、以下のものを使用して、無効な識別子
TO_STRING (CAST(COLLECT(DISTINCT LOT) AS varchar2(100))) AS LOT
で、私はエラーを取得します:期待されるCHARの「一貫性のないデータ型:期待される%sは%sです」
TO_CHAR (CAST(COLLECT(DISTINCT LOT) AS varchar2(100))) AS LOT
次を使用して
、私はエラーを取得する:期待NUMBER「一貫性のないデータ型:期待%sのしまっ%s」の
COLLECT(DISTINCT WHSE_LOT)
は私のために動作するように、この機能を取得する方法はありますか?
は、ヘルプ@AlexPooleいただきありがとうございます。私は、このソリューションが1つの例外を伴って動作することを発見しました。たとえば、 'SELECT order_no、tab_to_string(CAST(COLLECT(DISTINCT lot)AS t_varchar2_tab))は、table1と同じです。WHERE order_no = 590288 GROUP BY order_no;'返品Order_Noロット590288 2016535,2016535,6016535,2016538,2016538何か提案がありますか? – ESC
@ESC - 10gが 'COLLECT(DISTINCT ...) 'を認識しないので、コレクションを' SET() 'で渡すように更新しました。 –