首页 > 解决方案 > 一张表中的两个唯一键 SQL

问题描述

我在一个表中有两个唯一键,我想编写一个查询,将我连接到两个唯一键并将它们显示在一条记录中。目前,查询向我返回 2 条记录,其中唯一键 = 第一个记录中的 ID,唯一键 = 第二个记录中的 PM。我想要一个记录唯一键= ID,PM

i.COLNAMES  AS CCOLUMNS, C.TABNAME
FROM syscat.columns C
JOIN SYSCAT.INDEXES I ON I.TABNAME = C.TABNAME
WHERE UNIQUERULE IN ('P','U')

标签: sqldb2

解决方案


可能是这样的:

SELECT tabname, LISTAGG('Indexname:' || indname || ' ' || COLNAMES, ', ') WITHIN GROUP(ORDER BY indname)
  FROM SYSCAT.INDEXES
 WHERE UNIQUERULE IN ('P','U')
 GROUP BY TABNAME

推荐阅读