Ciao a tutti,
Non sono una cima sulle query troppo complesse e dopo un pomeriggio ci rinuncio
Devo eseguire una INNER JOIN tra tre tabelle con piu clausole where, es :

Tabella clienti
idcliente
ragione
piva
idzona
ecc

Tabella macchine
idcliente
idmacchina
nome macchina
motore
anno
marca

Tabella zone
idzona
zona

Ho fatto una cosa di questo tipo

Codice PHP:
$sSQL "
SELECT * 
FROM CLIENTI AS C
INNER JOIN MOVIMENTIMACCHINARI AS M
INNER JOIN ZONE AS Z ON C.IDCLI = M.IDCLI
AND C.IDZONA = Z.IDZONA
WHERE C.RAGSOCCLI LIKE 'C%'
AND C.MARCA = 'VOLVO'
AND C.MOTORE = '19'
AND C.PROVCLI = 'Z1'
OR C.PROVCLI = 'Z2'
OR C.PROVCLI = 'Z3'
OR C.PROVCLI = 'Z4'
OR C.PROVCLI = 'Z5'
OR C.PROVCLI = 'Z6'
OR C.PROVCLI = 'Z7'
OR C.PROVCLI = 'Z8'
OR C.PROVCLI = 'Z9'
GROUP BY C.IDCLI
"

la ricerca puo' essere fatta per una o piu zone (parte finale),
per marca, per modello
oppure per un qualsiasi dato della tabella clienti. in questo caso la ragione sociale.

Il problema è questo :
La ricerca per una o piu zone nel caso OR C.PROVCLI = '' sia NULL funziona stranamente correttamente, sono gli altri 2 o 3 parametri where che non vengono filtrati,

e non ci sto capendo piu il perchè

Ringrazio anticipatamente tutti e buon lavoro.

( La query è leggermente diversa a lavoro ma non me la ricordavo tutta )