我需要計算表人員中的所有外鍵,並列出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