SQL-Postgres字符串agg提供了重复项

SQL-Postgres字符串agg提供了重复项,sql,postgresql,join,string-agg,Sql,Postgresql,Join,String Agg,我正在尝试从系统表收集外键映射。我使用了下面的查询 问题1: 选择 kcu.table_模式, kcu.table\u名称为外来表, 字符串_agg(kcu.column_name,,')作为fk_列, rel_tco.table_名称作为主表, kcu.u名称 从…起 信息\u schema.table\u约束tco 连接信息\u schema.key\u列\u kcu上的用法 tco.constraint_schema=kcu.constraint_schema 和tco.constrain

我正在尝试从系统表收集外键映射。我使用了下面的查询

问题1:
选择
kcu.table_模式,
kcu.table\u名称为外来表,
字符串_agg(kcu.column_name,,')作为fk_列,
rel_tco.table_名称作为主表,
kcu.u名称
从…起
信息\u schema.table\u约束tco
连接信息\u schema.key\u列\u kcu上的用法
tco.constraint_schema=kcu.constraint_schema
和tco.constraint_name=kcu.constraint_name
连接信息\u架构。引用\u约束rco on
tco.constraint\u schema=rco.constraint\u schema
和tco.constraint\u name=rco.constraint\u name
联接信息\u schema.table\u约束关系\u tco on
rco.unique\u constraint\u schema=rel\u tco.constraint\u schema
和rco.unique\u constraint\u name=rel\u tco.constraint\u name
哪里
tco.constraint_type='外键'
分组
kcu.table_模式,
kcu.table_名称,
rel_tco.table_名称,
rel_tco.table_模式,
kcu.u名称
订购人
kcu.table_模式,
kcu.table_名称;
但这不会提供指向Fk的主表列。所以我在上找到了这个查询

问题2
选择
tc.table_模式,
tc.U名称,
tc.table_名称,
kcu.column_名称,
ccu.table_模式作为外部_表_模式,
ccu.table_name作为外来_table_name,
ccu.column\u name作为外来列\u name
从…起
信息\u schema.table\u约束作为tc
连接信息\u schema.key\u列\u作为kcu的用法
在tc.constraint_name=kcu.constraint_name上
和tc.table_schema=kcu.table_schema
连接信息\u schema.constraint\u列\u作为ccu的用法
在ccu.constraint\u name=tc.constraint\u name上
和ccu.table_schema=tc.table_schema
其中tc.constraint_type='外键'
现在,这个查询给出了各个列。假设有一个类似FK的(logid,item),那么我将得到两行。我想在我的第一个查询中使用string_agg,我得到了结果,但结果是重复的。 Like(logid,item,logid,item)

具有重复项的查询:
选择
kcu.table_模式,
kcu.table\u名称为外来表,
字符串_agg(kcu.column_name,,')作为fk_列,
rel_tco.table_名称作为主表,
kcu.U名称,
字符串_agg(ccu.column_name,,')作为pk_列
从…起
信息\u schema.table\u约束tco
连接信息\u schema.key\u列\u kcu上的用法
tco.constraint_schema=kcu.constraint_schema
和tco.constraint_name=kcu.constraint_name
连接信息\u架构。引用\u约束rco on
tco.constraint\u schema=rco.constraint\u schema
和tco.constraint\u name=rco.constraint\u name
联接信息\u schema.table\u约束关系\u tco on
rco.unique\u constraint\u schema=rel\u tco.constraint\u schema
和rco.unique\u constraint\u name=rel\u tco.constraint\u name
连接信息\u schema.constraint\u列\u作为ccu的用法
在ccu.constraint\u name=tco.constraint\u name上
哪里
tco.constraint_type='外键'
分组
kcu.table_模式,
kcu.table_名称,
rel_tco.table_名称,
rel_tco.table_模式,
kcu.u名称
订购人
kcu.table_模式,
kcu.table_名称;
有人能帮我解决这个问题吗

示例FK:
ALTER TABLE myschema.user ADD CONSTRAINT view\u option\u fk01外键(帐户标识,用户标识)引用myschema.account(帐户标识,用户标识);
预期查询输出:

使用
选择DISTINCT…
删除重复项

查询具体做什么?请尝试选择不同的…?
string\u agg(不同的kcu.column\u name,,)
。仅将图像用于不能表示为文本或扩充文本的内容。包括带有图像的图例/图例和说明。PS一个例子很有帮助。但它说明了什么?使用足够的单词、句子和引用部分例子,清楚、完整地说出你的意思。当给出业务关系(ship)/关联或表(基或查询结果)时,请说明其中的一行根据其列值对业务状况的说明。可能的重复项