抱歉,我似乎有点精神障碍。
我有一张看起来像这样的表
SECTION_ID | TITLE
-------------------------
1 Section1
2 Section2
3 Section3
和另一个像这样的表
KPI TITLE | SECTION_ID
----------------------------
Title1 1
Title2 1
Title3 2
Title4 3
Title5 3
Title5 3
我想加入这两个表,所以它们看起来像这样
Section1 | Section2 | Section3
------------------------------
Title1 Title3 Title4
Title2 Title5
Title6
部分和标题的数量是动态的,因此我无法对任何内容进行任何编码。
答案 0 :(得分:1)
这不能在没有动态SQL的情况下完成,也不能事先知道您的部分名称。如果您确实知道名称,那么您可以使用数据透视表执行类似操作。由于数据库汇总了数据,因此无法提供您要求的确切输出,但根据您尝试完成的操作,这可能会为您完成:
SELECT *
FROM
(
SELECT T1.TITLE, T2.KPI_TITLE
FROM T1, T2
WHERE T1.SECTION_ID = T2.SECTION_ID
)
PIVOT (
LISTAGG(KPI_TITLE, ', ') WITHIN GROUP (ORDER BY KPI_TITLE)
FOR TITLE IN ('Section1','Section2','Section3')
)
输出将是:
Section1 | Section2 | Section3
----------------------------------------------------
Title1, Title2 Title3 Title4, Title5, Title6