【发布时间】:2016-09-02 10:59:18
【问题描述】:
good_name 列对于所有结果都是空的。查询中有什么问题?
select fp.id,
listagg(fpg.name, ',') within group(order by fpg.name) good_name
from fp_place_goods fppg join
fp_places fp on fppg.place_id = fp.id join
fp_goods fpg on fppg.good_id = fpg.id
GROUP BY fp.id
however query below works
select fp.id,
listagg(fpg.id, ',') within group(order by fpg.id) good_ids
from fp_place_goods fppg join
fp_places fp on fppg.place_id = fp.id join
fp_goods fpg on fppg.good_id = fpg.id
GROUP BY fp.id
select fp.id, fpg.name from fp_places fp join
fp_place_goods fppg on fp.id = fppg.place_id join
fp_goods fpg on fpg.id = fppg.good_id
以图片形式返回结果
【问题讨论】:
-
查询看起来没问题。您能否在可以与论坛共享的一些测试数据上重现该问题?另外,您是否尝试使用 select fp.id, fpg.name from ... 来运行它以首先查看连接的样子?
-
join 完美运行,max() 函数在 fpg.name 上运行,但我找不到使用 listagg 缺少的内容。