Не 100%, что вы спрашиваете, попробуйте это
select
sets.id as setid,
items.id as itemid,
relatonships.relationship as relationship
from sets
inner join items on sets.id = items.event
LEFT join relationships on relationships.itemid = items.id
where
sets.id = [say, 5]
and relationships.userid = [say, 27]
Имейте в виду, что столбец отношения будет пустым, если его не существует. Кроме того, ссылка отношения в предложении WHERE также может исключать строки. Надеюсь, это поможет вам начать, опять же, я могу неправильно понять, чего вы пытаетесь достичь. Судя по дизайну ваших таблиц, между пользователем и наборами, похоже, нет никакой связи, не могли бы вы составить список полей в таблицах.
Попробуйте следующий запрос:
select sets.id as setId,
items.id as ItemId,
relationships.relationship
from sets
join users on 1=1
join items on sets.id=items.setid
left join relationships on relationships.itemId = items.id
where
sets.id=5 and users.id = 27
Добавляя таблицу пользователей в объединение с 1 = 1, вам не нужно предложение where для ссылки на таблицу отношений вообще
Изменить левое соединение на:
left join relationships on relationships.itemId = items.id
AND relationships.userId=users.id