Pb de requete SQL

Bonjour à tous.

Toujours en train de bosser sur mon module de gestion de la formation pro (qui avance bien), je me heurte aujourd’hui à un problème de requete SQL.

Si la requete trouve une correspondance, tout va bien, mais si il n’y en a pas, patatra…

La requete est la suivante :
SELECT a.fk_agefodd_session FROM llx_agefodd_session_adminsitu as a WHERE a.archive LIKE 0 AND a.datef > ‹ 0000-00-00 00:00:00 › AND a.indice = ( SELECT MAX( l.indice ) FROM llx_agefodd_session_admlevel as l WHERE l.top_level LIKE ‹ Y › )

Sous Dolibarr, j’obtiens l’erreur suivante :

Sous PhpMyadmin la même requete fonctionne parfaitementet et ne renvoit aucune erreur…

Je pense que la requête imbriqué ne passe pas sous Dolibar quand aucune valeure ne correspond…
Mais je ne maitrise pas assez les arcanes de Dolibarr pour jouer avec ça…

Merci d’avance pour vos précieux conseils et bon week-end.

il me faudrait le détail des tables pour comprendre et tester

Veuillez trouver en PJ le fichier SQL des tables concernées.

Merci d’avance

agefodd.txt (5.97 KB)

je voulais tester mais il y a des soucis avec ton export, certain champs avec apostrophes non pas de slashe

Préparation de l''action

OK, voici une version « nettoyée »

Bonne journée.

La pièce jointe agefodd_sql.txt est absente ou indisponible

j’ai testé la requête et je n’ai pas d’erreur avec ou sans correspondance, peut être que ca vient du traitement du résultat ?
voici ta requête:

$sql = "SELECT a.fk_agefodd_session"; $sql.= " FROM ".MAIN_DB_PREFIX."agefodd_session_adminsitu as a"; $sql.= " WHERE a.archive LIKE 0"; $sql.= " AND a.datef > '0000-00-00 00:00:00'"; $sql.= " AND a.indice = ("; $sql.= "SELECT MAX( l.indice )"; $sql.= " FROM ".MAIN_DB_PREFIX."agefodd_session_admlevel as l"; $sql.= " WHERE l.top_level LIKE 'Y' )";

tu devrais utiliser la valeur « NULL » en base pour les dates non renseignée, se sera plus simple pour tes requêtes que « 0000-00-00 00:00:00 »

Peut-être. Mais je traite pourtant le résultat exactement comme les autres…
Je vais creuser un tout ça plus tard.
Pour l’instant, je l’ajoute au bugtrack :wink:

Merci de l’aide.