Ciao a tutti,
ho un insolito problema con una query su due tabelle e con gli operatori AND ed OR.

Una tabella mi serve per ottenere un id e l'altra per la visualizzazione dei dati.

La query incriminata è questa:
Codice PHP:
SELECT FROM 
tbl1 
INNER JOIN 
tbl2
ON 
tbl2
.post_id tbl1.ID 
WHERE 
(tbl2.meta_key "wpcf-livelloesperienza" AND tbl2.meta_value LIKE "%Senior%"
AND 
(
tbl2.meta_key "wpcf-areafunzjob" AND tbl2.meta_value LIKE "%sales-marketing%"
GROUP BY tbl2.post_id 
HAVING tbl2
.post_id tbl1.ID 
La query, così fatta restituisce null, o 0 righe, mentre se metto un OR tra un blocco e l'altro () , ottengo i risultati corretti, con le righe doppie del tipo:
sia le righe corrette, che le altre che hanno almeno un blocco vero (come da algoritmo OR).

La query dovrebbe restituire 3 risultati.

Dite che mi conviene dividerla in 2 query ? Prima la ricerca sulla tabella 2 e poi quella sulla tabella 1 ?

Potrebbe essere un problema della versione di Mysql ??


Vi ringrazio.