【发布时间】:2017-01-16 10:32:44
【问题描述】:
如果外键被多次引用,我需要计算人员表中的所有外键并列出person_id。如果我在一个单元格中列出所有person_id,这并不复杂。
例如,如果我有这张桌子:
PERSON_ID | FOREIGN_KEY
1 a0368dwas
2 b65asd14s
3 b65asd14s
4 a0368dwas
5 cd56as46a
我可以做这个 sql 查询:
select listagg(person_id), ', '), foreign_key
from person
group by foreign_key
having count(foreign_key)>1
order by foreign_key
结果会是这样的:
PERSON_ID | FOREIGN_KEY
1,4 z0368dwas
2,3 z65asd14s
我的问题是用户要求,因为他需要person_id 不是在一行中,而是每个person_id 的一行。
所以它必须是这样的:
PERSON_ID | FOREIGN_KEY
1 a0368dwas
4 a0368dwas
2 b65asd14s
3 b65asd14s
【问题讨论】: