Ciao a tutti,
ho con mio rammarico scoperto che una query di questo tipo:
SELECT attivita.*, IF ((attivita_esp.data_inserimento IS NOT NULL) AND (attivita_esp.data_scadenza>NOW()),1,0) AS has_esp, IF (attivita_esp.data_scadenza<=NOW(),1,0) AS scaduto FROM attivita LEFT JOIN attivita_esp ON (attivita.id=attivita_esp.attivita_id) WHERE attivita.stato='1' AND attivita.categorie_id IN (235,236,237) ORDER BY has_esp DESC, attivita.ordine DESC, attivita.click DESC, attivita.ragione ASC
Non funziona a causa del primo IF composto da due condizioni da valutare:
IF ((attivita_esp.data_inserimento IS NOT NULL) AND (attivita_esp.data_scadenza>NOW()),1,0) AS has_esp
Infatti tale condizione viene sempre valutata falsa seppure in alcuni casi dovrebbe essere vera; su MySQL 4.1.7 invece funziona correttamente.
Esiste qualche workaround per rimediare alla cosa?
Grazie!![]()