我需要计算表人员中的所有外键,并列出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