我需要帮助创建交叉表。 我被告知可以使用Merge语句完成,但我对它感到很困惑。 也许有人在使用merge语句来创建交叉表时已经过时了。
这是初始表: (初始表中可能有很多人,结果表中可能有很多列)
person text
person_1 some_text_1
person_1 some_text_2
person_1 some_text_3
person_1 some_text_4
person_1 some_text_5
person_2 some_text_6
person_2 some_text_7
person_2 some_text_8
person_2 some_text_9
我需要的表格如下:
person_1 person_2
some_text_1 some_text_6
some_text_2 some_text_7
some_text_3 some_text_8
some_text_4 some_text_9
some_text_5
UPD:我知道可以用pivot或smth来完成。 问题是如何使用MERGE。
答案 0 :(得分:0)
我不知道如何使用'merge'来实现它。实际上,我不认为'merge'可以工作...... 这是我的解决方案,可以满足您的需求,但不方便...
SELECT A.TEXT AS PERSON_1,B.TEXT AS PERSON_2...
FROM
(SELECT TEXT,ROWNUM AS R FROM PERSON_TAB WHERE PERSON='person_1') A
FULL JOIN
(SELECT TEXT,ROWNUM AS R FROM PERSON_TAB WHERE PERSON='person_2' ) B
ON A.R=B.R
FULL JOIN
...
如果你有太多的“人”,你可以创建一个行动来做到这一点。 请告诉我,如果您已经知道如何使用合并或更好的方式:)
答案 1 :(得分:0)