Bonjour,

J'ai un problème sur l'opérateur de comparaison ANY suite à cette requête :
***********************************************************
SELECT
date_format(ch_start_stay_date,'%m-%d-%Y') AS BeginPeriod,
date_format((SELECT ch_end_stay_date FROM stay_nfo WHERE ch_end_stay_date >= ALL (SELECT ch_end_stay_date FROM stay_nfo)),'%m-%d-%Y') AS EndPeriod,
idstays_nfo AS number_contract,
post_id AS number_customer
FROM
`stay_nfo`
WHERE ch_start_stay_date>=NOW()
ORDER BY `stay_nfo`.`ch_start_stay_date` ASC;
***********************************************************

pour être plus précis, c'est sur la ligne :
date_format((SELECT ch_end_stay_date FROM stay_nfo WHERE ch_end_stay_date >= ALL (SELECT ch_end_stay_date FROM stay_nfo)),'%m-%d-%Y') AS EndPeriod,

Cette requête fonctionnait très bien, mais depuis que mon hébergeur HAISOFT a fait une mise à jour, cette ligne plante le chargement de la page PHP en indiquant :
"#1242 - Subquery returns more than 1 row"
Un technicien d'HAISOFT m'a fait cette réponse un peu laconique :
"il pourrait s'agir d'une incompatibilité avec les versions de PHP (5.4.45) ou MySQL (5.5.44) installées sur le serveur."

Ce qui est étonnant c'est que si j'extrais cette ligne de cette requête pour l'exécuter seule cela fonctionne
**********************************
SELECT
date_format(ch_end_stay_date,'%m-%d-%Y') AS EndPeriod
FROM stay_nfo
WHERE ch_end_stay_date >= ALL (SELECT ch_end_stay_date FROM stay_nfo);
*********************************
Là ça fonctionne chez mon hébergeur.

Bref, étant un petit noob en MYSQL j'aimerais bien que l'on m'explique une autre façon d'écrire cette ligne de requête.
Cette ligne me permet d'extraite la date la plus grande du champ 'ch_end_date'.

Aussi si quelqu'un est au courant de ce "problème d’incompatibilité" je veux bien un peu de détail


Merci d'avance