Show only unmatched values of two columns in third column of table in an oracle
我想创建一个
在以上两列中,第一行的
因此,除了该值外,我想使用存储过程在第三栏中显示其他两个值。
我尝试使用
1 | SELECT REPLACE(RJ_SAPID, RJ_COLO_SAPID, '') FROM NE_STRUCTURES; |
请建议如何进行。
表定义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | OBJECTID NUMBER RJ_SAPID VARCHAR2(20) RJ_COLO_SAPID VARCHAR2(200) RJ_NETWORK_ENTITY_ID VARCHAR2(30) STRUCTURE_NAME VARCHAR2(200) INVENTORY_STATUS_CODE VARCHAR2(4) RJ_MAINTENANCE_ZONE_CODE VARCHAR2(20) RJ_SITE_NAME VARCHAR2(200) RJ_SITE_ADDRESS VARCHAR2(500) RJ_STRUCTURE_TYPE VARCHAR2(20) TYPE_NAME VARCHAR2(20) RJ_LAST_MODIFIED_BY VARCHAR2(50) RJ_LAST_MODIFIED_DATE DATE RJ_STATUS VARCHAR2(200) RJ_CITY_CODE VARCHAR2(10) RJ_R4G_STATE_CODE VARCHAR2(10) RJ_DISTRICT_CODE VARCHAR2(20) RJ_TALUK_CODE VARCHAR2(20) RJ_JC_CODE VARCHAR2(20) RJ_JIOPOINT_SAPCODE VARCHAR2(20) RJ_COMPANY_CODE_1 VARCHAR2(20) RJ_COMPANY_CODE_2 VARCHAR2(20) NE_STATUS VARCHAR2(20) |
您可以使用
1 2 3 | SELECT RJ_SAPID, RJ_COLO_SAPID, REPLACE(RTRIM(LTRIM(REPLACE(RJ_COLO_SAPID, RJ_SAPID, ''), ','), ','), ',,', '') AS ThirdColumn FROM NE_STRUCTURES |
只需更改您的论点,您就可以了:
1 | SELECT REPLACE(RJ_COLO_SAPID, RJ_SAPID, '') FROM NE_STRUCTURES |
如果要去除不需要的逗号,请使用:
1 | SELECT REGEXP_REPLACE(REPLACE(RJ_COLO_SAPID, RJ_SAPID, ''),'^,+|,+$|(,),+','\\1') FROM NE_STRUCTURES |