Ваш результирующий набор фактически не имеет дубликатов. Дубликаты - это строки, в которых все столбцы имеют одинаковые значения, и ни одна строка в вашем наборе результатов не соответствует этому определению.
Предположительно, вы хотите агрегировать во внешнем запросе:
select column1, max(column2) column2
from (
select part as column1, null as column2 from soldparts where part like ?
union all
select part as column1, vin as column2 from vindata where part like ?
)
group by column1
order by column1 asc
Обратите внимание, что я изменил ваш запрос на использование параметров связывания (?
); ради безопасности и эффективности вы должны научиться использовать параметризованный запрос, а не объединять переменные в строке запроса.