Я выполняю сложный запрос между двумя таблицами. Мне нужны строки, которые имеют отношение c, а те, у которых его нет.
Например:
Элемент
|---------------------|------------------|
| id | name |
|---------------------|------------------|
| 1 | a |
|---------------------|------------------|
| 2 | b |
|---------------------|------------------|
| 3 | c |
|---------------------|------------------|
Атрибуты элемента
|------------------|--------------------|
| id_element | id_attribute |
|------------------|--------------------|
| 1 | 55 |
|------------------|--------------------|
| 1 | 78 |
|------------------|--------------------|
| 3 | 55 |
|------------------|--------------------|
Мне нужны все элементы, у которых нет атрибута 78, поэтому в этом примере он должен выводить 2 и 3.
Я пробовал с
SELECT *
FROM element
LEFT JOIN element_attributes
ON (element.id = element_attributes.id_element AND element_attributes.id_element != 78)
Но для Например, для элемента 1 он выполняет левое соединение с первой строкой атрибутов и равен 55, поэтому он заканчивается результатами, а это не то поведение, которого я ожидал.
Спасибо