vedi che cosi' e' piu' facile leggere la query... lo stesso u.id viene preso a confronto sia da o.id_utente che da o.id_clientcodice:inner join dyn_utenti as u on o.id_utente = u.id left join dyn_utenti as u2 on o.id_client = u2.id
Dovrebbe esistere una relazione diversa, cioe' u2.id non puo' essere lo stesso di u.id, altrimenti come succede ora essendo tutto in AND, si ha che o.id_utente e' = a o.id_client. Poi nella condizione where limiti la scelta a o.id_utente = '1' . Ecco la ragione del risultato che ottieni.
Da rivedere la query. Pero' non posso suggerire nulla perche' non conosco la relazione di o.id_client con l'altra tabella.
![]()