1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| with TAB(article, structure, operation, couleur) as
(select 1, 'IK', 1, 'Jaune' union all
select 1, 'IK', 2, 'Rouge' union all
select 1, 'IK', 3, 'Noir' union all
select 2, 'IK', 1, 'Rouge' union all
select 2, 'IK', 2, 'Jaune' union all
select 2, 'IK', 3, 'Jaune' union all
select 2, 'IK', 4, 'Noir' union all
select 3, 'LK', 1, 'Bleu' union all
select 3, 'LK', 2, 'Noir' union all
select 3, 'LK', 3, 'Marron' union all
select 4, 'ST', 1, 'Vert' union all
select 4, 'ST', 2, 'Bleu' union all
select 4, 'ST', 3, 'Rouge' union all
select 4, 'ST', 4, 'Blanc' union all
select 4, 'ST', 5, 'Noir' union all
select 5, 'TK', 1, 'Noir' union all
select 5, 'TK', 2, 'Bleu' union all
select 5, 'TK', 3, 'Noir' union all
select 5, 'TK', 4, 'Rouge' union all
select 5, 'TK', 5, 'Jaune' union all
select 5, 'TK', 6, 'Marron' union all
select 6, 'XX', 1, 'Jaune' union all
select 7, 'YY', 1, 'Vert' union all
select 7, 'YY', 2, 'Noir' union all
select 8, 'ZZ', 1, 'Rouge' union all
select 8, 'ZZ', 2, 'Noir' union all
select 8, 'ZZ', 3, 'Rouge'
)
select main.article
, main.structure
from TAB main
where main.couleur = 'Noir'
and exists
(select 1
from TAB subq
where subq.article = main.article
and subq.structure = main.structure
and subq.couleur in ('Jaune', 'Rouge')
and subq.operation < main.operation
) |
Partager