Originariamente inviato da bobonzo
salve...
grazie ragazzi ma non va.
ho provato quello di ciccio ma escono comunque 2 record su 3

il problema sembra essere quello della gestione di mancate corrispondenze.

cioè al momento l'id_cliente di uno dei record in ordini non esiste nella tabella clienti perchè è stato cancellato.

...dunque non mi visualizza il record...ma è una cosa che servirebbe.

come faccio?
questo non l'avevi detto!
Infatti l'inner join lo si usa quando sicuramente ci sono corrispondenze (come è in generale)
Puoi optare per il left join:

Codice PHP:
SELECT clienti.nome AS nomeClientecausali.nome AS nomeCausale 
FROM 
((ordini LEFT JOIN clienti ON ordini.idCliente=clienti.id
           
LEFT JOIN causali ON ordini.idCausale=causali.id
In questo modo vengono presi tutti gli ordini.

p.s. se provavi il codice di zoseppe, dove c'è solo il join, mi sa ke funzionava direttamente!
Però in generale cerco di evitarlo x motivi di efficienza e controllo