SELECT DISTINCT u.use_code ,supervise_org_code FROM (
SELECT
DISTINCT( i.use_code ),
supervise_org_code
DISTINCT (USE_UNIT_CREDIT_CODE) use_code,
ORG_BRANCH_CODE supervise_org_code
FROM
"tz_base_enterprise_info" i
RIGHT JOIN
(
SELECT
DISTINCT( use_code )
FROM "tz_base_enterprise_info" a
WHERE
NOT EXISTS ( SELECT DISTINCT (USE_UNIT_CREDIT_CODE) use_code FROM idx_biz_jg_use_info b WHERE a.use_code = b.USE_UNIT_CREDIT_CODE )) c ON i.use_code = c.use_code
UNION all
(SELECT
DISTINCT (USE_UNIT_CREDIT_CODE) unitCode,
ORG_BRANCH_CODE companyCode
FROM
idx_biz_jg_use_info ibjui
idx_biz_jg_use_info ibjui
LEFT JOIN idx_biz_jg_supervision_info ibjsi ON ibjui."RECORD" = ibjsi."RECORD"
WHERE USE_UNIT_CREDIT_CODE is NOT NULL AND USE_UNIT_CREDIT_CODE <![CDATA[ <> ]]> '' GROUP BY unitCode ORDER BY unitCode )) u
WHERE
USE_UNIT_CREDIT_CODE is NOT NULL
AND USE_UNIT_CREDIT_CODE <![CDATA[ <> ]]> ''
AND (lengthb(USE_UNIT_CREDIT_CODE)= 15 or lengthb(USE_UNIT_CREDIT_CODE)= 18)