connection->query('SELECT COUNT(*), pe.id, ad.validfrom FROM person AS pe INNER JOIN chill_person_persons_to_addresses AS pe_ad ON pe.id = pe_ad.person_id INNER JOIN chill_main_address AS ad ON ad.id = pe_ad.address_id GROUP BY pe.id, ad.validfrom HAVING COUNT(*) > 1'); $personWithTwoAddressWithSameValidFrom = $stmt->fetchAll(); foreach ($personWithTwoAddressWithSameValidFrom as $p) { $this->warnIf(true, 'The person with id ' . $p['id'] . ' has two adresses with the same validFrom date'); } $this->abortIf( count($personWithTwoAddressWithSameValidFrom) !== 0, 'There exists some person with multiple adress with the same validFrom' ); } }