Похоже, что вы запрашиваете всех людей, которые находятся в таблице ваучеров, независимо от того, находятся ли они в положении 1 (пользователь) или в положении 2 (цель) ... Затем, показывая имя этого человека.
Этот запрос выполняет предварительный запрос каждого возможного человека и его позиции (через WhichPosition).
SELECT STRAIGHT_JOIN
AllVoucherUsers.WhatPosition,
u.*
FROM
( select distinct
v.id_user,
'1' as WhatPosition
from voucher v
union select distinct
v.id_target as id_user,
'2' as WhatPosition
from voucher v
) AllVoucherUsers
join users u
on AllVoucherUsres.id_user = u.id_u
Если вам нужен только ОДИН экземпляр данного человека - НЕЗАВИСИМО от его должности, просто удалите все экземпляры ссылки "WhatPosition" ...
SELECT STRAIGHT_JOIN
u.*
FROM
( select distinct
v.id_user
from voucher v
union select distinct
v.id_target as id_user
from voucher v
) AllVoucherUsers
join users u
on AllVoucherUsres.id_user = u.id_u