Как тогда прописать, если значение из таблицы, равно этому значению, то присоединить ту таблицу с этим параметром, если нет, то ту жетаблицу но с другим параметром
Как вариант с отсечкой такого же пола через exists.
Select *
from lyudi l
Inner join perespal p on l.chel_id = p.chel_id
Where
l.name = 'Линда' and exists (select partners.chel_id from lyudi partners where partners.chel_id = p.partner_id and
partners.sex !=
l.sex)
Можно второй раз с luydi сджойнить по partner_id = luydi.chel_id и во where пол отфильтровать.
Можно подзапрос сделать при помощи with.
Другой момент в том, что если у вас такая ситуация с одним полом является некорректной, то её нужно бы ещё на этапе записи проверять и запрещать.
А case немного для другого, типа:
SELECT id, name, CASE sex WHEN 'Male' THEN 'Не, это же мужик!' WHEN 'Female' THEN 'А вот это другое дело!' ELSE 'Это что ещё за хрень?' END verdict FROM luydi