Elementen uit de koppelingslijst halen

Ik heb een tabel die elementen aan groepen toewijst. Elk element kan in veel groepen bestaan ​​en kan een paar keer aan dezelfde groep worden toegewezen

het lijkt op:

element | group
      1 | 1
      1 | 2 
      1 | 3
      2 | 1
      2 | 3
      3 | 2

Ik ben op zoek naar een eenvoudige query die me elementen kan retourneren die zijn toegewezen aan groep 1, maar NIET aan groep 2.

Volgens de gepresenteerde gegevens hierboven is dit element 2.

0

3 antwoord

select distinct element 
from  your_table
where element not in (select element 
                      from your_table 
                      where `group` = 2)
and `group` = 1
2
toegevoegd
het werkt. dank je
toegevoegd de auteur Krzysztof Dk, de bron

Zoals dat:

select element from table 
where group = 1 and not exists 
(select element from table t 
 where t.element=table.element and t.group = 2)
0
toegevoegd
SELECT *
FROM `table` t1
LEFT OUTER JOIN `table` t2
   ON t1.element = t2.element
   AND t2.`group` = 2
WHERE t1.`group` = 1
   AND t2.`group` IS NULL
0
toegevoegd