Делаю выборку такую,что в таблице C джоинится один ко многим - ищу среди них такие у которых date2<date1, но при этом если в том же отношении кокрас джоинится несколько строк, но если среди них если существуют такие строки где date2>date1 - то все эти строки отбрасываются, но то ли я не прав, то ли чего то не учел выборка не правильная получается
select A.a,B.date1,C.date2 from A
join B on B.id=A.id
join C c1 on C.date2<B.date1 and C.c=B.b and
not exist(select id from C c2 where c1.id<>c2.id and c1.c=B.b and c2.date2>B.date1)
+-----+------------+------------+
| a | date1 | date2 |
+-----+------------+------------+
| 123 | 21.08.2024 | пусто |
| 456 | 15.08.2024 | 18.08.2024 |
| 789 | 29.07.2024 | пусто |
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+------------+------------+
1я и 3я строки не должны же выводится?