give each query a dummy column that uniquely identifies it
and then use row_number to pick just the first value
SELECT column1, column2, column3, column4
FROM (SELECT x.*, ROW_NUMBER() OVER (PARTITION BY column1, column2, column3 ORDER BY dummy) rn
FROM (SELECT 1 dummy, 'a' column1, 'b' column2, 'c' column3, 'Note 1' column4 FROM DUAL
UNION ALL
SELECT 2 dummy, 'a' column1, 'b' column2, 'c' column3, 'Note 2' column4 FROM DUAL) x)
WHERE rn = 1