Salve ho questa query che a mio modo di vedere restituisce dei valori sbagliati ( invece sicuramente c'è qualcosa che sbaglio) :

codice:
SELECT 
mezzi_tratte.*,
mezzi.id as id_tabella_mezzi,
mezzi.immagine,
mezzi.nome,
mezzi.descrizione as mezzi_descrizione,
mezzi.passeggeri,mezzi.bagagli 
FROM tratte_libere as tratte 
INNER JOIN tratte_libere_mezzi as mezzi_tratte 
ON tratte.id = mezzi_tratte.id_tratte_libere 
INNER JOIN mezzi ON mezzi_tratte.id_mezzi = mezzi.id 
WHERE 
TRUNCATE ( 6363 * sqrt( POW( RADIANS("38.1899302") - RADIANS(tratte.latitudine_partenza) , 2 ) + POW( RADIANS("13.1129648") - RADIANS(tratte.longitudine_partenza) , 2 ) ) , 3 ) <= tratte.raggio_ricerca_km 
AND TRUNCATE ( 6363 * sqrt( POW( RADIANS("38.0173505") - RADIANS(tratte.latitudine_arrivo) , 2 ) + POW( RADIANS("12.5365171") - RADIANS(tratte.longitudine_arrivo) , 2 ) ) , 3 ) <= tratte.raggio_ricerca_km 
AND mezzi.passeggeri >= 1 
AND mezzi.bagagli >= 0 
AND mezzi.deleted_at IS NULL 
AND mezzi_tratte.deleted_at IS NULL 
ORDER BY mezzi_tratte.costo


Come posso mostrare come campo il valore di :

codice:

codice:
TRUNCATE ( 6363 * sqrt( POW( RADIANS("38.1899302") - RADIANS(tratte.latitudine_partenza) , 2 ) + POW( RADIANS("13.1129648") - RADIANS(tratte.longitudine_partenza) , 2 ) ) , 3 )


Perchè la query restituisce anche tratti con raggi di ricerca maggiori, dove è l'errore ?