One column in a join needs to be unique I am new to SQL. I have a join which uses three lookup tables. It is a bit complicated so I will publish the code here.

Create View TEST As select  
        BDP_INSTITUTION_NAME,
        BIC,
        BDP_COUNTRY_NAME,               
        BDP_ISO_COUNTRY_CODE,            
        BDP_CITY,                       
        BDP_NETWORK_CONNECTIVITY,      
        BDP_SERVICE_CODES,               
        BDP_ISTARGET,                        
        BCDB_NAME,                       
        BCDB_LAENDERKENNZEICHEN,  
        BCDB_AKTIVMERKMALBANK,          
        BCDB_AKTIVMERKMALLAND,     
        BCDB_AKTIVMERKMALBANKLAND, 
        BCDB_SWIFTKENNZEICHEN,    
        COUNTRYCODE,     
        ISBDP,    
        ISBCDB,    
        BCDB_ORT,
        RMA.CRSPDT AS RMA_CRSPDT,
        RMA.ISSR AS RMA_ISSR,
        RMA.TP AS RMA_TP,
        RMA.SVCNM AS RMA_SVCNM,
        RMA.RMASTS AS RMA_RMASTS 
       from
(SELECT 
        bdp.bic, 
        bdp.institution_name AS bdp_institution_name, 
        bdp.country_name AS bdp_country_name, 
        bdp.iso_country_code AS bdp_iso_country_code,
        bdp.city AS bdp_city, 
        bdp.network_connectivity AS bdp_network_connectivity, 
        bdp.service_codes as bdp_service_codes, 
        bdp.isTarget AS bdp_isTarget, 
        bcdb.name as bcdb_name, 
        bcdb.laenderKennzeichen as bcdb_laenderKennzeichen, 
        bcdb.aktivMerkmalBank AS bcdb_aktivMerkmalBank, 
        bcdb.aktivMerkmalLand AS bcdb_aktivMerkmalLand, 
        bcdb.aktivMerkmalBankLand AS bcdb_aktivMerkmalBankLand, 
        bcdb.swiftKennzeichen AS bcdb_swiftKennzeichen, 
        CASE 
            WHEN bcdb.laenderKennzeichen IS NOT NULL THEN bcdb.laenderKennzeichen
            ELSE bdp.iso_country_code
        END AS countryCode,
        CASE 
            WHEN bdp.bic IS NOT NULL THEN 1
            ELSE 0
        END AS isbdp,
        CASE 
            WHEN bcdb.bic IS NOT NULL THEN 1
            ELSE 0
        END AS isbcdb,
        bcdb.ort AS bcdb_ort 
        FROM BDP bdp LEFT JOIN BCDB bcdb ON bdp.bic = bcdb.bic WHERE bdp.bic IS NOT NULL 
    UNION ALL SELECT
        bcdb.bic, 
        bdp.institution_name AS bdp_institution_name, 
        bdp.country_name AS bdp_country_name, 
        bdp.iso_country_code AS bdp_iso_country_code, 
        bdp.city AS bdp_city, 
        bdp.network_connectivity AS bdp_network_connectivity, 
        bdp.service_codes as bdp_service_codes,
        bdp.isTarget AS bdp_isTarget, 
        bcdb.name as bcdb_name, 
        bcdb.laenderKennzeichen as bcdb_laenderKennzeichen, 
        bcdb.aktivMerkmalBank AS bcdb_aktivMerkmalBank, 
        bcdb.aktivMerkmalLand AS bcdb_aktivMerkmalLand, 
        bcdb.aktivMerkmalBankLand AS bcdb_aktivMerkmalBankLand, 
        bcdb.swiftKennzeichen AS bcdb_swiftKennzeichen, 
        CASE 
            WHEN bcdb.laenderKennzeichen IS NOT NULL THEN bcdb.laenderKennzeichen
            ELSE bdp.iso_country_code
        END AS countryCode,
        CASE 
            WHEN bdp.bic IS NOT NULL THEN 1
            ELSE 0
        END AS isbdp,
        CASE 
            WHEN bcdb.bic IS NOT NULL THEN 1
            ELSE 0
        END AS isbcdb,
        bcdb.ort AS bcdb_ort 
    FROM BDP bdp RIGHT JOIN BCDB bcdb ON bdp.bic = bcdb.bic WHERE bdp.bic IS NULL)

  t1 left join RMA on (RMA.ISSR = substr(t1.BIC, 1,8) or RMA.CRSPDT = substr(t1.BIC, 1,8));


What I want is to have a unique BIC for each row in the 'TEST' view. The rest of the information is not important i.e. once I get a hit on a BIC it should not be repeated again, all the rest is not important what is important is if I get a BIC hit or not.

Through internet search I found out I cannot use DISTINCT in my case it does not help. What else can I do?
Something like this would work (in Oracle). 

select c.* from (select b.*, row_number() over(partition by b.bic order by b.rnum) rnk from (select rownum rnum, a.* from test a) b) c where rnk = 1;