我在两个表之间做一个复杂的查询。我需要有特定关系的行和没有特定关系的行。
例如:
要素
|---------------------|------------------|
| 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上,它与第一个attributes行进行左连接,并且是55,因此它以结果结束,这不是我所期望的行为。
谢谢
1条答案
按热度按时间eiee3dmh1#
使用
not exists
: