Това трябва да стане:
SELECT
T1.id,
T1.name,
T1.value,
T1.priority
FROM
My_Table T1
LEFT OUTER JOIN My_Table T2 ON
T2.name = T1.name AND
T2.priority > COALESCE(T1.priority, -1)
WHERE
T2.id IS NULL
Това също ви позволява да имате множество нива на приоритет, като най-високото е това, което искате да върнете (ако сте имали 1 и 2, 2 ще бъде върнато).
Въпреки това ще кажа, че изглежда, че има някои проблеми с дизайна в DB. Моят подход би бил:
My_Table (id, name)My_Values (id, priority, value) с FK на id към id. PKs на id в My_Table и id, приоритет в My_Values. Разбира се, бих използвал и подходящи имена на таблици.