次のような最初のテーブルがあります:table_1
| 日にち | グループ番号 | c_id | レート |
|---|---|---|---|
| 2020.01.01 | あ | 001 | 12.0 |
| 2020.02.01 | あ | 001 | 12.0 |
| 2020.01.01 | あ | 002 | 10.0 |
| 2020.01.01 | B | 103 | 8.0 |
| 2020.01.01 | B | 101 | 8.0 |
| 2020.01.01 | ハ | 203 | 11.0 |
そして、レコードの日付を持つグループの名前を持つ 2 番目の table_2 があります。
| 日にち | グループ番号 |
|---|---|
| 2020.01.01 | あ |
| 2020.02.02 | あ |
| 2020.03.03 | あ |
| 2020.01.01 | B |
| 01.02.2020 | B |
| 2020.01.01 | ハ |
タスクは、table_2 の新しい列に、カンマで区切られ、group_number でグループ化された各 c_id のレートを書き込むことです。次のように、新しい列を table_2 に追加する必要があります。
| 日にち | グループ番号 | rate_for_groups |
|---|---|---|
| 2020.01.01 | あ | 12.0、10.0 |
| 2020.02.02 | あ | 12.0、10.0 |
| 2020.03.03 | あ | 12.0、10.0 |
| 2020.01.01 | B | 8.0、8.0 |
| 01.02.2020 | B | 8.0、8.0 |
| 2020.01.01 | ハ | 11.0 |
私はこのようにsmthをやろうとしました:
select *,
listagg(rate, ',') within group (order by C_ID) as rates
from table_1
group by group_number
しかし、「式によるグループではありません」というエラーが発生しました