• What about ...

    select Product_ID

    , MAX( case when CountryCode = 'USA' then AlternateProductID else null end ) AS USA

    , MAX( case when CountryCode = 'UK' then AlternateProductID else null end ) AS UK

    , MAX( case when CountryCode = 'SGP' then AlternateProductID else null end ) AS SGP

    from mapping

    group by

    Product_ID