with ds (Article, Structure, NuméroOpération, Couleur) as (
values
row (1, 'IK', 1, 'Jaune'),
row (1, 'IK', 2, 'Rouge'),
row (1, 'IK', 3, 'Noir'),
row (2, 'IK', 1, 'Rouge'),
row (2, 'IK', 2, 'Jaune'),
row (2, 'IK', 3, 'Jaune'),
row (2, 'IK', 4, 'Noir'),
row (3, 'LK', 1, 'Bleu'),
row (3, 'LK', 2, 'Noir'),
row (3, 'LK', 3, 'Marron'),
row (4, 'ST', 1, 'Vert'),
row (4, 'ST', 2, 'Bleu'),
row (4, 'ST', 3, 'Rouge'),
row (4, 'ST', 4, 'Blanc'),
row (4, 'ST', 5, 'Noir'),
row (5, 'TK', 1, 'Noir'),
row (5, 'TK', 2, 'Bleu'),
row (5, 'TK', 3, 'Noir'),
row (5, 'TK', 4, 'Rouge'),
row (5, 'TK', 5, 'Jaune'),
row (5, 'TK', 6, 'Marron')
)
select distinct Article
from ds as o
where true
and Couleur in ('Rouge', 'Jaune')
and exists (
select all *
from ds as i
where true
and i.Article = o.Article
and i.Couleur = 'Noir'
and i.NuméroOpération > o.NuméroOpération
)
;
Partager