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:
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 ?