the following SQL (a little bit complicated, yes) works smoothly in phpMyAdmin:
Code: Select all
SELECT * FROM tblContratti cnt JOIN( SELECT can.* FROM tblCanoni can JOIN( SELECT can_id_contratto, MAX(can_data_decorrenza) AS latestDate FROM tblCanoni GROUP BY can_id_contratto) t ON t.can_id_contratto = can.can_id_contratto AND t.latestDate = can.can_data_decorrenza ) fpm ON fpm.can_id_contratto = cnt.cnt_contratti_id WHERE cnt.cnt_in_vigore=1;
Code: Select all
SELECT cnt_contratti_id,cnt_nome_contratto,cnt_tipo_contratto
FROM tblContratti cnt JOIN( SELECT can.* FROM tblCanoni can JOIN( SELECT can_id_contratto, MAX(can_data_decorrenza) AS latestDate FROM tblCanoni GROUP BY can_id_contratto) t ON t.can_id_contratto = can.can_id_contratto AND t.latestDate = can.can_data_decorrenza ) fpm ON fpm.can_id_contratto = cnt.cnt_contratti_id
WHERE cnt.cnt_in_vigore=1
GROUP BY can_id_contratto) t ON t.can_id_contratto = can.can_id_contratto AND t.latestDate = can.can_data_decorrenza ) fpm ON fpm.can_id_contratto = cnt.cnt_contratti_id WHERE cnt.cnt_in_vigore=1 LIMIT 0, 20
Code: Select all
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') t ON t.can_id_contratto = can.can_id_contratto AND t.latestDate = can.can_data' at line 4