ok, ci ho provato, volevo inserire una condizione IF come da te suggerito ma purtroppo non sono riuscito a scriverla con una sintassi corretta e trovo errori parse error.
Ti riporto tutta la query (è il risultato di una query generata con una interfaccia (query builder di interakt) e poi modificata manualmente con i suggerimenti di questo forum per ottenere la media di alcuni valori), è un po' complessa (almeno per me) ma funziona perfettamente.
Ora manca solo di riuscire ad inserire questi IF per ogni condizione WHERE, puoi aiutarmi?


// begin Recordset
$KTColParam1__rs_search_f_zon = '%';
if (isset($_GET["zon"])) {
$KTColParam1__rs_search_f_zon = $_GET["zon"];
}
$KTColParam2__rs_search_f_zon = '%';
if (isset($_GET["amb"])) {
$KTColParam2__rs_search_f_zon = $_GET["amb"];
}
$KTColParam3__rs_search_f_zon = '%';
if (isset($_GET["tip"])) {
$KTColParam3__rs_search_f_zon = $_GET["tip"];
}
$query_rs_search_f_zon = sprintf("
SELECT ristoranti_ris.id_ris, ristoranti_ris.nome_ris, ristoranti_ris.idprv_ris, ristoranti_ris.idcom_ris, ristoranti_ris.idzon_ris, ristoranti_ris.idamb_ris, ristoranti_ris.idtip_ris, tiporistorante_tip.nome_tip, province_prv.nome_prv, comuni_com.nome_com, ristoranti_ris.indirizzo_ris, ristoranti_ris.civico_ris, ristoranti_ris.foto1_ris, menu_men.idris_men, min( menu_men.prezzo_men ) AS prezzo_min, (
AVG( pulizia_fbk ) + AVG( accoglienza_fbk ) + AVG( profess_fbk ) + AVG( attesa_fbk ) + AVG( prezzi_fbk ) + AVG( servizi_fbk ) + AVG( foto_fbk ) + AVG( pietanze_fbk ) + AVG( bevande_fbk ) + AVG( dolci_fbk ) + AVG( caffe_fbk ) + AVG( rapp_qual_prez_fbk )
) /12 AS media
FROM (
(
(
(
(
ristoranti_ris
LEFT JOIN tiporistorante_tip ON tiporistorante_tip.id_tip = ristoranti_ris.idtip_ris
)
LEFT JOIN province_prv ON province_prv.id_prv = ristoranti_ris.idprv_ris
)
LEFT JOIN comuni_com ON comuni_com.id_com = ristoranti_ris.idcom_ris
)
LEFT JOIN menu_men ON menu_men.idris_men = ristoranti_ris.id_ris
)
LEFT JOIN feedback_fbk ON feedback_fbk.idris_fbk = ristoranti_ris.id_ris
AND feedback_fbk.mostra_fbk =1
)
WHERE
ristoranti_ris.idzon_ris LIKE '%s'
AND ristoranti_ris.idamb_ris LIKE '%s'
AND ristoranti_ris.idtip_ris LIKE '%s'

AND menu_men.num_men!=0
GROUP BY ristoranti_ris.id_ris, ristoranti_ris.nome_ris, ristoranti_ris.idprv_ris, ristoranti_ris.idcom_ris, ristoranti_ris.idzon_ris, ristoranti_ris.idamb_ris, ristoranti_ris.idtip_ris, tiporistorante_tip.nome_tip, province_prv.nome_prv, comuni_com.nome_com, ristoranti_ris.indirizzo_ris, ristoranti_ris.civico_ris, ristoranti_ris.foto1_ris, menu_men.idris_men
ORDER BY ristoranti_ris.nome_ris ASC", GetSQLValueString($KTColParam1__rs_search_f_zon, "int"),GetSQLValueString($KTColParam2__rs_search_f _zon, "int"),GetSQLValueString($KTColParam3__rs_search_f _zon, "int"));
$rs_search_f_zon = $rsRistoworld->SelectLimit($query_rs_search_f_zon) or die($rsRistoworld->ErrorMsg());
$totalRows_rs_search_f_zon = $rs_search_f_zon->RecordCount();
// end Recordset