La única posibilidad es que no haya un registro que cumpla al mismo tiempo
h.finalitzat = 'no' y h.data_fi <= NOW().
Para ver si hay alguno, haz un SELECT:
Código sql:
Ver originalSELECT *
FROM historic_carrecs h INNER JOIN carrecs c ON h.idCarrec=c.codi
WHERE h.finalitzat = 'no' AND h.data_fi <= NOW();
Si esto no devuelve nada, entonces prueba esto:
Código sql:
Ver originalSELECT *
FROM historic_carrecs h LEFT JOIN carrecs c ON h.idCarrec=c.codi
WHERE h.finalitzat = 'no' AND h.data_fi <= NOW();
Esto te devovlerá una tabla con los campos que no coinciden de la segunda tabla en NULL.
Mira si hay coincidencias.