我在创建分层表时遇到问题,
我有以下数据
With data(left_code, left_category, right_code, right_category) as (
SELECT '21BEMVXP040150FIS4', 'A', '21CYMVXP040152VFO4', 'B' FROM DUAL UNION ALL
SELECT '21CYMVXP040152VFO4', 'B', '23FRDDS2NCNF1LOBR4', 'C' FROM DUAL UNION ALL
SELECT '22NLDDS2ACNF3MQJC4', 'B', '21BEMVXP040150FIS9', 'A' FROM DUAL UNION ALL
SELECT '21BEMVXP040150FIS9', 'A', '23FRDDS2NCNF1LOBR9', 'C' FROM DUAL UNION ALL
SELECT '21DEMVXP040222UJK5', 'B', '23FRDDS4NCNF1LOBR4', 'C' FROM DUAL UNION ALL
)
SELECT *
FROM data;
字符串
我想连接left_code和right_code
所需的输出应该如下所示:
| 代码_1|第1类|CODE_2|第二类|代码_3|类别_3|
| --|--|--|--|--|--|
| 21BEMVXP040150FIS4|一|21CYMVXP040152VFO4| B| 23FRDDS2NCNF1LOBR 4| C|
| 22NLDDS2ACNF3MQJC 4| B| 21BEMVXP040150FIS9|一|23FRDDS2NCNF1LOBR 9| C|
| 21DEMVXP040222UJK 5| B| 23FRDDS4NCNF1LOBR4| C| NULL| NULL|
| 22NLDDS2ACNF3MQJC 2|一|22FRDDS2NCNF1LOBR 0| C| NULL| NULL|
你能帮帮我吗?
1条答案
按热度按时间lzfw57am1#
您可以使用分层查询(只查询一次表):
字符串
或
LEFT OUTER JOIN
到同一个表(这将查询该表两次):型
其中,对于样本数据:
型
两个输出:
| 代码_1|第1类|CODE_2|第二类|代码_3|类别_3|
| --|--|--|--|--|--|
| 21BEMVXP040150FIS4|一|21CYMVXP040152VFO4| B| 23FRDDS2NCNF1LOBR 4| C|
| 21BEMVXP040150FIS9|一|23FRDDS2NCNF1LOBR 9| C| * 空 | 空 *|
| 21CYMVXP040152VFO4| B| 23FRDDS2NCNF1LOBR 4| C| * 空 | 空 *|
| 21DEMVXP040222UJK 5| B| 23FRDDS4NCNF1LOBR4| C| * 空 | 空 *|
| 22NLDDS2ACNF3MQJC 4| B| 21BEMVXP040150FIS9|一|23FRDDS2NCNF1LOBR 9| C|
fiddle