0

ここで説明されているstring_agg関数を取得して、distinctキーワードを操作しようとしています。使用例:

select string_agg(distinct a.name), a.id from tbl_a a group by a.id

問題は、これが sqldeveloper で機能することですが、匿名の pl/sql ブロッ​​クでアプリケーション エクスプレスで実行すると、distinct キーワードの受け入れが拒否され、distinct が許可されていないというエラーが表示されます。なぜこれを行うのでしょうか?簡単な回避策はありますか?私は10.2とアプリケーションエクスプレス3.2を使用しています

編集:明確にするために、私はこの問題を解決することに興味がありますが、使用できる別の string_agg/group_concat 関数があれば、どんなアイデアでも受け入れます。

編集:最終的には次のようなことができるようになりたい

select string_agg(distinct a.name),string_agg(distinct a.city), a.id from tbl_a a group by a.id

両方のstring_agg列を重複排除します...これは、両方の列の個別の値を取得しないため、サブクエリで個別を使用する場合に問題になります...

4

2 に答える 2

1

このAskTom スレッドの最後の投稿によると、この動作はバグのようです。

個別の操作をサブクエリに移動すると、次のように動作するはずです。

select   string_agg(sq.name)
        ,sq.id 
from     (
         select distinct 
                a.name
               ,a.id 
         from   tbl_a a 
         ) sq
group by sq.id
于 2009-10-19T03:24:13.450 に答える