1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| SELECT f.id_table1,
MIN(f.la_date) AS date_dernier_changement_valeur_controle
FROM table2 AS f
INNER JOIN (
SELECT t.id_table1, MAX(t.la_date) AS date_max_valeur_precedente
FROM table2 AS t
INNER JOIN (
SELECT t2.id_table1, t2.controle, tmp.date_dernier_controle
FROM table2 AS t2
INNER JOIN (
SELECT id_table1, MAX(la_date) AS date_dernier_controle
FROM table2
GROUP BY id_table1
) AS tmp ON tmp.id_table1 = t2.id_table1
WHERE t2.la_date = tmp.date_dernier_controle
) AS tmp2 ON tmp2.id_table1 = t.id_table1
WHERE t.la_date < tmp2.date_dernier_controle
AND t.controle <> tmp2.valeur_dernier_controle
GROUP BY t.id_table1
) AS tmp3 ON tmp3.id_table1 = f.id_table1
WHERE f.la_date >= tmp3.date_max_valeur_precedente
GROUP BY f.id_table1 |
Partager